Thanks for @prologic 's contribution.
The following adjustments have been made on the basis of the original code:
- The binary files generated by `egg test` and `egg run` are placed in the temporary directory to keep the source code directory clean
- Modify the code of `magefile.go` to synchronize with the `egg` command