Sobes.tech
Senior

V čem spočívá rozdíl mezi sekvenčním prováděním příkazů v CLI pomocí středníku (;) a dvojitého ampersandu (&&)?

sobes.tech AI

Odpověď od AI

V CLI jsou příkazy oddělené středníkem (;) vykonávány postupně, jeden po druhém, bez ohledu na výsledek předchozího příkazu. To znamená, že všechny příkazy budou vykonány, i když některý skončí chybou.

Příkazy oddělené dvojitým ampersandem (&&) jsou vykonávány sekvenčně, ale následující příkaz se spustí pouze, pokud předchozí skončí úspěšně (návratový kód 0). Pokud některý příkaz skončí chybou, řetězec vykonávání se přeruší.

Příklad:

mkdir test_dir; cd test_dir; echo "Hello"

Vykoná všechny tři příkazy, i když mkdir nebo cd selžou.

mkdir test_dir && cd test_dir && echo "Hello"

Druhý a třetí příkaz se vykonají pouze, pokud předchozí proběhly úspěšně.