仅在满足以下条件时,我才尝试输入if / then语句:
if [ "$key1dtSec" -lt "$taSec" ] || [ "$key2dtSec" -lt "$taSec" ] && [[ ! -z "$user_lives_here" ]]; then
仅当$key1dtSec
或$key2dtsec
为真,且仅当$user_lives_here
有值时,我才想进入循环。
但是,即使if
有值,then
/ $user_lives_here
语句也会被执行。我不想要那个。
如何确保if
/ then
仅在$user_lives_here
有值的情况下发生?
答案 0 :(得分:3)
您可以在[[
/ ]]
运算符中用括号将条件分组:
if [[ ! -z "$user_lives_here" && ( "$key1dtSec" -lt "$taSec" || "$key2dtSec" -lt "$taSec" ) ]]
答案 1 :(得分:2)
您需要将“或||
”条件括在括号中:
if ( [ "$key1dtSec" -lt "$taSec" ] || [ "$key2dtSec" -lt "$taSec" ] ) && [[ ! -z "$user_lives_here" ]]; then