2010-02-01 9 views
50

В системе Linux что такое /bin/true?Что такое/bin/true

+0

/foo/bar || true (работает, если/bin/true) находится в пути. Хотя этот вопрос не помечен как таковой, этот вопрос объясняет то, что полезно в сценариях оболочки, make-файлах и т. Д., И поэтому не голосование закрывается. –

+0

http://forums.thedailywtf.com/forums/t/3779.aspx –

+0

Возможно, вам захочется взглянуть на [исходный код их] (https://askubuntu.com/questions/454117/why-is -bin-правда, такой-а-большой файл-как-бы-я-найти-исходный код); так как мне было любопытно. –

ответ

54

/bin/true это команда, которая возвращает 0 (значение истина в оболочке).

Его назначение - использовать в местах сценария оболочки, где вы обычно используете литерал, такой как «истина» на языке программирования, но там, где оболочка будет выполнять только команду для запуска.

/bin/false - это обратное, которое возвращает ненулевое значение (ложное значение в оболочке).

19

От человека странице:

true - do nothing, successfully 

true returns a status 0. 
+15

Как-то я нахожу это забавным. Успешно ничего не делать, LOL. – syaz

+30

SyaZ: Вас также может удивить описание 'false (1)': "ничего не делать, безуспешно". – camh

0

Просто скажем, что его программа возвращает 0. Иногда нам нужно получить это значение, чтобы сценарий был более читаемым.

7

Обратите внимание, что это не просто глупо или визуально приятно. Это помогает, например, выйти из программы, не активируя конечных обработчиков, которые могут испортиться при выполнении многопоточных или разветвленных программ. Как и в perl:

#!/usr/bin/env perl 

exec "/bin/true"; 

END { 
    print "This wont get printed .. would have if I just 'exit' or 'die'\n"; 
} 
0

Я видел, что это использовалось для обмана системной операции в мышлении, когда команда запускается, когда она не имеет. Если команда неисправна, например, цикл, вы можете заменить ее символической ссылкой на «истина», чтобы запустить основное задание. Только хорошая идея, если замещение работы не является существенным.

Смежные вопросы