【发布时间】:2014-03-20 12:11:20
【问题描述】:
if [[ (thing1 -eq 0) && (thing -eq 0) && (thing3 -eq 0) && (thing4 -eq 0) ]]; then
echo "no flags"
elif [[ (thing1 -eq 1) && (thing -eq 0) && (thing3 -eq 0) && (thing4 -eq 0) ]]; then
echo "-g flag"
elif [[ (thing1 -eq 0) && (thing -eq 1) && (thing3 -eq 0) && (thing4 -eq 0) ]]; then
echo "-p flag"
fi
有什么想法吗?给我错误,我不知道为什么。
【问题讨论】:
-
thing1 永远不会等于零。如果要比较存储在 thing1 中的值,请使用“$thing1”。
-
请告诉我们您遇到的错误。这总是很重要的。发生错误是有原因的。我猜thing1是一个变量?我认为应该像 [[ ($thing1 -eq) ... 和其他人一样
-
您是否尝试解析运行脚本时使用的标志/选项?如果是这样,请考虑改用
getopts- wiki.bash-hackers.org/howto/getopts_tutorial
标签: bash if-statement syntax