Bash 条件(如果不是每个命令的常规条件)
我搜索了if-not命令,找到了很多关于特定命令的答案,但是如果我想要任何命令的东西,怎么做呢?我想知道是否有一种方法可以让每种情况都逆转它的结果。。。不喜欢知道-eq和-ne 我想做的不是这个Bash 条件(如果不是每个命令的常规条件),bash,if-statement,Bash,If Statement,我搜索了if-not命令,找到了很多关于特定命令的答案,但是如果我想要任何命令的东西,怎么做呢?我想知道是否有一种方法可以让每种情况都逆转它的结果。。。不喜欢知道-eq和-ne 我想做的不是这个 while [ -z ${!specificCommands[$d]} ] 这不是一个好主意 for (( d=1; d<=$qtyOfParamInACommand; d++ )) ((d=1;d与以下相反): while [ -z ${!specificCommands[$d]} ]
while [ -z ${!specificCommands[$d]} ]
这不是一个好主意
for (( d=1; d<=$qtyOfParamInACommand; d++ ))
((d=1;d与以下相反):
while [ -z ${!specificCommands[$d]} ]
以下哪一项是:
while ! [ -z ${!specificCommands[$d]} ]
while [ -n ${!specificCommands[$d]} ]
请注意,您还需要引用变量,或者在不需要引号的地方使用双括号。如果不这样做,当${!specificCommands[$d]}
为空字符串时,您将遇到问题
# better
while ! [ -z "${!specificCommands[$d]}" ]
while [ -n "${!specificCommands[$d]}" ]
# best
while ! [[ -z ${!specificCommands[$d]} ]]
while [[ -n ${!specificCommands[$d]} ]]
否定:
for ((d = 1; d <= qtyOfParamInACommand; d++))
可能的副本是否也适用于while命令?还是在命令的中间?例如,对于这个,我如何使中间的条件不成立,语法正确?(d=1;我们谈论的语言是什么?Linux,我会在标题中添加它吗?你尝试用一个空格?<代码>![dthx!我只是想知道,对于for,为什么条件不能在[]方括号之间?我希望那些[]方括号可以用来括起任何类型的条件?方括号是一个非常具体的命令。
[
只是测试
命令的同义词,它要求最后一个参数是]
这样看起来像语法。结果是一代又一代的shell程序员感到困惑,没有任何实际的好处。啊!!然后我明白了…所以如果我得到它,在for中,test命令在默认情况下已经存在,所以不需要[]
for ((d = 1; d <= qtyOfParamInACommand; d++))
# note: broken
for ((d = 1; !(d <= qtyOfParamInACommand); d++))
for ((d = 1; d > qtyOfParamInACommand; d++))
for ((d = qtyOfParamInACommand; d >= 1; d--))