1

Может кто-нибудь помочь мне понять значение этой строки из сценария bash?

[ "$2" = "" ] && >$1 && return

1 ответ1

7

&& - это оператор «и»: он выполняет левую команду, а если эта команда истинна (то есть выходит со статусом 0), то выполняет правую команду.

[ "$2" = "" ] проверяет, является ли второй параметр в функции включения (или сценарий, если используется вне функции) пустым. (Если было менее двух параметров, $2 пусто.)

>$1 - пустая команда, перенаправленная в файл, имя которого является первым параметром $1 . Это создает пустой файл, если он не существует, и очищает файл, если он уже существует. Эта команда может завершиться ошибкой, если у сценария нет разрешения на создание или изменение файла.

return выходит из ограждающей функции.

Таким образом, значение этой строки таково: если $2 пусто, создайте или обрежьте файл с именем $1 и, если это удастся, вернитесь из функции.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .