(3 odpovědi)
Uzavřeno před 6 lety.
Jaký je rozdíl mezi
echo "Hello " ; echo "world"
a
echo "Hello " && echo "world"
Zdá se, že oba spouštějí dva příkazy po sobě.
Přijatá odpověď:
echo "Hello " ; echo "world"
znamená spustit echo "world"
bez ohledu na to, jaký je stav ukončení předchozího příkazu echo "Hello"
je tj. echo "world"
bude spuštěn bez ohledu na úspěch nebo selhání příkazu echo "Hello"
.
Zatímco v případě echo "Hello " && echo "world"
, echo "world"
spustí se pouze v případě, že první příkaz (echo "Hello"
) je úspěšný (tj. výstupní stav 0).
Následující příkazy uvádějí příklad toho, jak shell zpracovává řetězení příkazů pomocí různých operátorů:
$ false ; echo "OK"
OK
$ true ; echo "OK"
OK
$ false && echo "OK"
$ true && echo "OK"
OK
$ false || echo "OK"
OK
$ true || echo "OK"
$