Я смотрел на Coreutils и нашел это в качестве одного из файлов , включенных в часть Coreutils: /usr/bin/[
. Что это такое [
и что оно делает?
Это исполняемый файл. Я просто не знаю, что он делает или как его использовать.
$ file / usr / bin / [
/ usr / bin / [: исполняемый 32-разрядный LSB ELF, Intel 80386, версия 1 (SYSV), динамически связанный (использует общие библиотеки), для GNU / Linux 2.6.15, раздетый
Когда я пытаюсь запустить его, я думаю, что по умолчанию используется bash, встроенный в расширение строки. Вместо того, чтобы фактически запустить файл.
$ "/ usr / bin / ["
/ usr / bin / [: отсутствующий ] ']' $ /usr/bin/\[
/usr/bin/[: missing
man [
работает на OS X.Ответы:
Это эквивалент команды
test
. (Смinfo test
.) Обычно вы используете его в скриптах в условных выражениях, таких как:Закрывающая скобка обязательна для включения условного выражения. (Что ж, похоже, требуется просто выглядеть в коде лучше. Кто-нибудь знает какие-либо другие практические причины для этого?)
источник
[
это как встроенная оболочка, так и внешняя программа с одинаковым (или похожим) использованием. В bash, когда вы запускаете[
илиtest
вызываете встроенный.Это эквивалентно
test
команде.Вместо того
Вы можете использовать:
Может использоваться и в циклах:
Вы также можете использовать их в одной строке, как это:
источник