嗨我正在研究somoething,我需要创建一个if语句,它将在'&&'和'||'中包含多个变量 组合.现在我正在尝试这个简单的任务,但我收到错误'命令未找到'.我想首先&&两个计数而不是|| 它带有我在我的代码中设置的标志.以下是我正在尝试的代码
if [[$pcount -eq 0 ] && [$ucount -eq 0]] || [test $flag -eq 1]
then
do my stuff
else
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
先感谢您.
你不能嵌套,[ ... ]因为它[是一个shell命令,而不是一个单独的语法结构.在Bash中,您可以使用[[ ... ]]支持嵌套的语法结构,在便携式中,sh您可以使用( ... )括号作为优先级:
if ([ $pcount -eq 0 ] && [ $ucount -eq 0 ]) || [ $flag -eq 1 ]
Run Code Online (Sandbox Code Playgroud)
补充说明:
[test condition]没有意义,因为[运营商已经是别名了test.写一个[ condition ]或test condition.
[在测试之前留一个空格,否则sh将不会识别[为命令名.[是一个与任何其他命令一样的命令,与特殊的解析规则无关.
| 归档时间: |
|
| 查看次数: |
5638 次 |
| 最近记录: |