Что делает оператор обратной косой черты в условных выражениях RSH?
Мне интересно узнать, что делает этот фрагмент кода RSH и есть ли в Bash что-то похожее:
if [ -z $ALPHA \
-z $BRAVO \
-z $CHARLIE \
-z $DELTA ]; then
var=$ZULU
fi
2 ответа
Решение
Эти baskslashes позволяют для продолжения линии. Это как если бы код был написан следующим образом:
if [ -z $ALPHA -z $BRAVO -z $CHARLIE -z $DELTA ]; then
var=$ZULU
fi
От man bash
Если
\<newline>
появляется пара, и обратная косая черта сама по себе не указана,\<newline>
трактуется как продолжение строки (то есть удаляется из входного потока и фактически игнорируется).
\
ускользает от конца строки.
Это способ сказать, что строка еще не завершена и продолжается в следующей строке.
Это просто делает ваш код проще для чтения.
Он также доступен в bash:
$ echo foo
foo
$ echo foo \
> bar
foo bar
$