2016-07-13 37 views
0

最近我對一元運算符有一些困難。這是下面的代碼。關於一元運算符的簡單的unix shell編程錯誤

#!/bin/bash 


if [ ${op:0:1} = "-" ]; 
then 
     echo "debug: option!"; 
fi 

我知道關於空間要求我仍然不知道它不會編譯的原因。畢竟這只是一個簡單的vi代碼。

+1

郵政錯誤,無論是運算爲空或包含特殊字符。這也不是vi代碼。 – 123

+1

http://shellcheck.net是你的朋友在這裏... – anishsane

+0

./tryCompdir:line 5:[:=:一元運算符預計 – Stephan

回答

3

正如評論中提到的,您的op變量可能爲空。

爲了避免bash錯誤,使用雙引號在if聲明:

if [ "${op:0:1}" = "-" ]; 
then 
     echo "debug: option!"; 
fi