當我執行這個語法錯誤在[條件表達式使用bash
regex='^[-a-z0-9]+$'
string='abcd1--'
if [[ $string =~ $regex ] -a ![ grep - "--" ]]
then
echo "valid"
else
echo "not valid"
fi
我得到
~$ sh t.sh
t.sh: line 3: syntax error in conditional expression
t.sh: line 3: syntax error near `]'
t.sh: line 3: `if [[ $string =~ $regex ] -a [ grep - "--" ]]'
~$
這是假設返回not valid
。
有人能弄清楚有什麼問題嗎?
您的語法爲'[['不正確。 – 2012-02-28 14:39:19
你必須使用bash執行腳本,而不是sh(通常是(d)灰)。沒有使用'test'工具的'=〜'操作符(正被(d)灰使用)。 – Gandaro 2012-02-28 14:49:42