Ответ 1
Вы можете использовать этот комбинированный тест:
[[ -z "${var1}${var2}" ]]
ИЛИ отдельные тесты в том же состоянии if
:
[[ -z "$var1" && -z "$var2" ]]
Я хотел бы проверить обе переменные в том же условии if.
В настоящее время я использую [[$ var]] для тестирования одного, но то же самое для двух переменных не работает.
Чтобы сделать это, я попробовал:
if [[ &var1 && &var2 ]]; then
or
if [[ &ipAddress ]] && [[ &bcastAddress ]]; then
Есть ли ограничение?
Вы можете использовать этот комбинированный тест:
[[ -z "${var1}${var2}" ]]
ИЛИ отдельные тесты в том же состоянии if
:
[[ -z "$var1" && -z "$var2" ]]
Я часто использую арифметику для такого рода вещей. Например:
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