true a false (Unix)

V systémech unixového typu jsou true a false takové příkazy, jejichž návratová hodnota je vždy 0 resp. 1.

Shell interpretuje 0 (úspěch) resp. 1 (chyba) jako pravdivostní hodnotu. Toho se často využívá v shellových skriptech k tvorbě podmíněný výrazů a cyklů, v nichž jsou řídící podmínky dány návratovou hodnotou spouštěného programu. Například následující skript neustále vypisuje textový řetězec hello:

while true
do
	echo hello
done

Dalším využitím je tvorba sekvence příkazů, která vždy selže (vždy vrátí nenulovou hodnotu):

make … && false

Nastavení uživatelova přihlašovacího shellu na false (v /etc/passwd) mu odepře možnost přihlášení k shellu. Jeho účet však zůstane aktivní a bude moci využívat ostatní služby jako např. FTP.

Programy nemají žádné parametry. Pouze v některých variantách reagují na standardní parametry --help a --version.

Příkaz true může být také zapsán jako dvojtečka :. V tomto tvaru je zpravidla implementován jako vestavěná funkce shellu a je používán jako krátká varianta true

while :; do; done

nebo jako pomocný prázdný příkaz pro přiřazení hodnoty do proměnné s využitím rozvoje parametru[1]:

: ${TMPDIR:=/tmp}
: ${EDITOR=$DEFEDITOR}
: ${USER=${LOGNAME-`whoami`}}

Související články

Reference

V tomto článku byl použit překlad textu z článku True and false (Unix) na anglické Wikipedii.

  1. Shell Command Language: 2.6.2 Parameter Expansion – The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition

Externí odkazy

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.