嗨,我有如下脚本。
if [[ 'whoami' -eq "test" ]]; then
echo "test user"
else
echo "Not a test user"
fi这是返回测试用户,即使我的用户不是文本。如果有人能指出我愚蠢的错误,那就太好了。
发布于 2013-04-30 03:31:04
-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发布于 2013-04-30 03:28:20
您正在使用单引号代替反引号:
if [[ `whoami` -eq "test" ]]; then # Not 'whoami'为了提高可读性(以及更容易的嵌套,如果适用),使用
if [[ $(whoami) -eq "test" ]]; then而不是。
发布于 2013-04-30 06:13:06
就像这样:
if [[ `whoami` == "test" ]]; then # Not 'whoami' -eq
echo "test user"
else
echo "Not a test user"
fi不要使用单引号和'-eq‘
https://stackoverflow.com/questions/16286636
复制相似问题