【发布时间】:2020-04-29 13:36:01
【问题描述】:
我是 bash 脚本的新手,我正在尝试在 if 语句中对多个表达式进行分组
minuteRun = $1
if
[
[ [ $minuteRun -eq 25 ] && [ $HR != 01] && [ $HR != 13 ] ] ||
[ [ $minuteRun -eq 50 ] && [ $HR -eq 01 || $HR -eq 13 ] ]
]
then
我称之为./script.sh 45
这里是错误
- ./script.sh: 第 25 行: [: missing `]'
- ./script.sh:第 26 行:[:太 许多论点
- ./script.sh: line 27: [: too many arguments
- ./script.sh: line 27: 12: command not found
- ./script.sh:第 28 行:]: 找不到命令
【问题讨论】:
-
别忘了命令
[只是命令test的另一种拼写,所以你基本上写了if test test test $minuteRun -eq 25 ....等等,穿插换行符,这样就可以了更差。实际上,bash 已经在第一个[处退出了,因为它在同一行上看不到终止]。