嗨,我有脚本如下。
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'