Sobes.tech
Senior

Mi a különbség a parancsok szekvenciális végrehajtása között CLI-ben pontosvessző (;) és dupla és (&&) használatával?

sobes.tech MI

Válasz az MI-től

A CLI-ben a pontosvesszővel (;) elválasztott parancsok egymás után, sorban kerülnek végrehajtásra, függetlenül az előző parancs eredményétől. Vagyis minden parancs végrehajtásra kerül, még akkor is, ha valamelyik hibával zárul.

A dupla és (&&) karakterrel elválasztott parancsok sorban kerülnek végrehajtásra, de a következő csak akkor indul el, ha az előző sikeresen (kód 0) befejeződött. Ha valamelyik parancs hibával zárul, a végrehajtási lánc megszakad.

Példa:

mkdir test_dir; cd test_dir; echo "Hello"

Minden három parancs végrehajtódik, még akkor is, ha a mkdir vagy a cd nem sikerül.

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

A második és harmadik parancs csak akkor fut le, ha az előzőek sikeresen befejeződtek.