Это хак я только что обнаружил:Короткий путь выполнить команду, если переменная установлена
DEBUG=true
$DEBUG && echo "Hello"
И это как раз случается работать, потому что true
является актуальной команда, которая возвращает 0, а оператор &&
доволен что:
» true
» echo $?
0
есть не-хаком способ выполнить фрагмент кода, если переменная установлена, чтобы любого значения, за исключением пустой строки? Нечто подобное, но как читаемый однострочник (как показано выше):
myvar="ggg"
if [ "$myvar" != "" ] ; then echo "Hello" ; fi
'[[-n" $ myvar "]] && echo" Hello "' должен работать – anubhava
'[-z $ {myvar + x}] && echo" Hello "' [см. Также] (https: // stackoverflow .com/questions/3601515/how-to-check-if-a-variable-is-set-in-bashsee) – redneb
Я не думаю, что это хаки. – hek2mgl