True a false (Unix)

systémech unixového typu jsou truefalse 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--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

  • (anglicky) true(1) v manuálu GNU Core Utilities
  • (anglicky) false(1) v manuálu GNU Core Utilities
Příkazy a programy příkazové řádky Unixu (více)
Správa souborů
cat • chattr • cd • chmod • chown • chgrp • cksum • cmp • cp • du • df • file • fsck • fuser • ln • ls • lsattr • lsofmkdirmount • mv • pwd • rm • rmdir • split • touch
Správa procesů
at • chrootcrontab • exit • kill • killall • nice • pgreppidofpkill • ps • pstreesleep • time • top • wait • watch
Správa uživatelů a prostředí
env • finger • id • lognamemesgpasswd • su • sudounameuptime • w • wall • who • whoamiwrite
Zpracování textu
awkcommcsplitcutdiff • ed • ex • fmt • headiconvjoin • less • more • patchpaste • read • sedsorttactail • tee • tr • uniq • wc • xargs
Programování v shellu
alias • basename • echo • expr • false • printf • test • true • unset
Síťová komunikace
dig • inetd • host • ifconfignetstatnslookuppingrloginnctraceroute
Hledání
findgrepstrings
Ostatní
banner • bc • cal • date • dd • look • lp • man • size • yes