3
我有一個簡單的bash腳本:猛砸 '來源':近意外的標記語法錯誤',然後」
#!/bin/bash
if [ -n "abcd" ]; then
echo "a non-empty string"
else
echo "an empty string"
fi
腳本罰款運行:
$ bash test.sh
non-empty string
但是,當我嘗試源它會產生一個奇怪的錯誤信息:
$ source test.sh
bash: ./test.sh: line 3: syntax error near unexpected token `then'
bash: ./test.sh: line 3: `if [ -n "abcd" ]; then
任何意見的歡迎。包含if
命令的任何腳本都會出現問題,其中包括Fedora的/etc/bashrc
和其他腳本。如果命令包括沒有相應if
關鍵字then
殼關鍵字將發生
$ bash --version
GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu)
它運行良好:'GNU bash,版本4.2.53(1) - 發佈(i586-suse-linux-gnu)' –
你目前的shell bash? 'echo $ SHELL' –
@AnonyGeoghegan:你的'type -'解決了它。非常感謝你。我遇到的是:我做了一個別名'別名f = find。 -name'。現在看看工作中的白癡:我想爲'find找個別名。 -iname'。猜猜我選了什麼名字?幾天後,我使用它,並沒有意識到'如果'是一個關鍵字... –