我想在同一条件下测试两个变量。
目前我正在使用[[$ var]]测试一个,但两个变量的相同功能不起作用。
为了做到这一点,我尝试了:
if [[ &var1 && &var2 ]]; then
or
if [[ &ipAddress ]] && [[ &bcastAddress ]]; then
有限制吗?
答案 0 :(得分:5)
您可以使用此组合测试:
[[ -z "${var1}${var2}" ]]
OR在相同if
条件下单独进行测试:
[[ -z "$var1" && -z "$var2" ]]
答案 1 :(得分:1)
我经常使用算术来处理这些事情。例如:
case "$(((!${#var1}&&!${#var2})*${#ip}))" in
(0) ! echo ERROR;;
(${#bcast}) echo '$ips len is equal to $bcasts and neither are zero';;
esac
当然,您不需要case
那里:
[ "${#var1}${#var2}" -eq "$(((${#ip}&&${#bcast})?0:-1))" ] || handle_it