Bash
腳本中的 shebang ‘#!/bin/bash -o pipefail’ 出現無效的選項名稱錯誤
我有一個名為 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
. 感謝任何幫助,如果我能提供更多資訊,請聯繫我!
Linux 核心將 shebang 行中第一個“單詞”之後的所有內容視為單個參數。一種解決方案是
set -o
稍後在腳本中:#!/bin/bash set -o pipefail echo "Running test" git diff HEAD^ HEAD -M --summary | grep delete | cut --delimiter=' ' -f 5