1

В сценарии оболочки есть несколько параметров if. Например -d для каталога -f для файла.

Мой вопрос: что означает опции -n и -z ? Я знаю, как это работает. Я хочу знать этимологию, чтобы помочь памяти варианты. И где я могу найти man для этого?

3 ответа3

1

Поиск man test для получения информации о if (или test как утилита if известна в Linux)

-z строка Истинно, если длина строки Z эро.

-n строка Истинно , если длина строки является N onzero

0
$ man-section bash
bash (1)
----
      Name
      Synopsis
      Copyright
      Description
      Options
      Arguments
      Invocation
      Definitions
      Reserved words
      Shell grammar
      Comments
      Quoting
      Parameters
      Expansion
      Redirection
      Aliases
      Functions
      Arithmetic evaluation
 -->  Conditional expressions

(...)

$ man bash |grep -Ee '-[nz].*string' -A1 -m2
       -z string
          True if the length of string is zero.
--
       -n string
          True if the length of string is non-zero.
0

Посмотрите на команду test на страницах руководства. Это даст вам представление о флагах, которые могут использоваться в оболочке "внутренних и сокращенных" тестовых вызовов.

Я считаю, что когда-то test команды не были встроены во многие оболочки, и, таким образом, эту команду вы должны были использовать в операторах оболочки if . Но это было давно.

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