Pey*_*yto 1 command-line bash scripts
我正在尝试制作一个可以从命令行运行的应用程序。例如application -h
。所以我把一个bash脚本,我/usr/local/bin/
是不会cd /path/to/application
那么下一行./Main.py
。但是如果我执行命令它不会收到-h
. 但是,如果我在我的别名中.bashrc
使用相同的命令,它就可以正常工作。如何更改 bash 脚本以使用参数?为什么别名有效但脚本无效?
因为 shell 脚本无法知道您想将参数传递给 Python 脚本。用
./Main.py "$@"
Run Code Online (Sandbox Code Playgroud)
也不要使用cd
. 这是多余的。只需使用 ./Main.py 的完整路径,或者最好避免完全使用包装器脚本,除非必要。只需将 ./Main.py 放入作为 $PATH 变量一部分的目录之一,然后直接调用 Python 脚本。
主要的一点是,您尝试做的事情可能是错误的和不必要的,并且有更好的方法来做到这一点