Не уверен, что делает эта строка кода скрипта

Проверьте новый сайт разработчика приложений Ubuntu, в котором должно быть все, что вам нужно, чтобы начать создание приложения для Ubuntu

1
задан 29 August 2017 в 17:17

6 ответов

Вам не нужен if из-за &&, который можно использовать эквивалентно.

[ ] : conditional test
! not
-f FILE : does FILE exist ?
&& : do the following only if the statement before is true (returns 0)
exit : exit the script
. FILE : include FILE

Таким образом, скрипт проверяет, не существует ли файл и выходит из него, когда это правда. В противном случае он будет источником / включать этот файл.

Эти 3 эквивалентны:

if [ something ]; then something_else; fi

[ something] && something_else

test something && something_else
3
ответ дан 22 May 2018 в 18:57
  • 1
    Последние два не полностью эквивалентны примеру if. В этих двух случаях something_different будет выполняться, если something_else выходит с ненулевым кодом. Это не происходит для примера if else – user000001 29 August 2017 в 17:31
  • 2
    правда, я пропустил это ... – RoVo 29 August 2017 в 17:33
  • 3
    Я знаю, что значение $ означает "значение" также $PKGDIR/$COMMON_OPS_SCRIPT возвращает значение? Если $PKGDIR равно 1, а $COMMON_OPS_SCRIPT равно 0 (деление на 0), то это вызывает какую-то ошибку? Или я смотрю на это совершенно неправильно? А как насчет второй линии? , ФАЙЛ включает файл, но $PKGDIR/$COMMON_OPS_SCRIPT выглядит как значение, а не файл. – Bishop Minter 29 August 2017 в 17:45
  • 4
    $ var - переменная. -f $ var проверяет, является ли $ var файлом – RoVo 29 August 2017 в 17:52

Вам не нужен if из-за &&, который можно использовать эквивалентно.

[ ] : conditional test ! not -f FILE : does FILE exist ? && : do the following only if the statement before is true (returns 0) exit : exit the script . FILE : include FILE

Таким образом, скрипт проверяет, не существует ли файл и выходит из него, когда это правда. В противном случае он будет источником / включать этот файл.

Эти 3 эквивалентны:

if [ something ]; then something_else; fi [ something] && something_else test something && something_else
3
ответ дан 18 July 2018 в 07:44

Вам не нужен if из-за &&, который можно использовать эквивалентно.

[ ] : conditional test ! not -f FILE : does FILE exist ? && : do the following only if the statement before is true (returns 0) exit : exit the script . FILE : include FILE

Таким образом, скрипт проверяет, не существует ли файл и выходит из него, когда это правда. В противном случае он будет источником / включать этот файл.

Эти 3 эквивалентны:

if [ something ]; then something_else; fi [ something] && something_else test something && something_else
3
ответ дан 24 July 2018 в 18:51

, который проверяет, существует ли файл в $PKGDIR/$COMMON_OPS_SCRIPT, затем введите его . $PKGDIR/$COMMON_OPS_SCRIPT в следующую строку, в противном случае выйдите и верните $MISSING_COMMONOPS_SCRIPT

1
ответ дан 22 May 2018 в 18:57

, который проверяет, существует ли файл в $PKGDIR/$COMMON_OPS_SCRIPT, затем введите его . $PKGDIR/$COMMON_OPS_SCRIPT в следующую строку, в противном случае выйдите и верните $MISSING_COMMONOPS_SCRIPT

1
ответ дан 18 July 2018 в 07:44

, который проверяет, существует ли файл в $PKGDIR/$COMMON_OPS_SCRIPT, затем введите его . $PKGDIR/$COMMON_OPS_SCRIPT в следующую строку, в противном случае выйдите и верните $MISSING_COMMONOPS_SCRIPT

1
ответ дан 24 July 2018 в 18:51

Другие вопросы по тегам:

Похожие вопросы: