嗨,我有腳本如下。
if [[ 'whoami' -eq "test" ]]; then
echo "test user"
else
echo "Not a test user"
fi
即使我的用戶不是文本,也返回測試用戶。如果有人能指出我愚蠢的錯誤,那將是非常棒的。
嗨,我有腳本如下。
if [[ 'whoami' -eq "test" ]]; then
echo "test user"
else
echo "Not a test user"
fi
即使我的用戶不是文本,也返回測試用戶。如果有人能指出我愚蠢的錯誤,那將是非常棒的。
你來代替反引號使用單引號:
if [[ `whoami` -eq "test" ]]; then # Not 'whoami'
爲了提高可讀性(和更容易築巢,如果適用),使用
if [[ $(whoami) -eq "test" ]]; then
代替。
-eq
用於整數測試。 例如: -
kent$ [[ "a" -eq "b" ]] && echo "y" || echo "n"
y
kent$ [[ 34 -eq 35 ]] && echo "y" || echo "n"
n
嘗試:
kent$ [[ "a" == "b" ]] && echo "y" || echo "n"
n
if [[ `whoami` == "test" ]]; then # Not 'whoami' -eq
echo "test user"
else
echo "Not a test user"
fi
不使用單引號和 '-eq'