我有一个名为test.sh的文件:
#!/bin/bash -o pipefail
echo "Running test"
git diff HEAD^ HEAD -M --summary |
grep delete |
cut --delimiter=' ' -f 5
当我尝试以以下方式运行此脚本时:
./test.sh
我得到:
/bin/bash: line 0: /bin/bash: ./test: invalid option name
我跑去cat -v test.sh
检查是否有回车或其他东西,但事实并非如此。如果仅以方式运行脚本,则可以运行该脚本bash test.sh
。非常感谢您的帮助,如果可以提供更多信息,请联系lmk!
Linux内核将shebang行中第一个“单词”之后的所有内容都视为一个自变量。一种解决方案是set -o
稍后在脚本中:
#!/bin/bash
set -o pipefail
echo "Running test"
git diff HEAD^ HEAD -M --summary | grep delete | cut --delimiter=' ' -f 5
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句