A parancssor két vagy több parancsának kombinálása "parancs láncolás" néven is ismert. Megmutatjuk, hogyan lehet kombinálni a parancsokat a parancssorban.
Első opció: A pontosvessző (;) Operátor
A pontosvessző (;) operátor lehetővé teszi több parancs végrehajtását egymás után, függetlenül attól, hogy minden korábbi parancs sikeres-e. Nyissa meg például a Terminál ablakot (Ctrl + Alt + T az Ubuntu és a Linux Mint programban). Ezután írja be az alábbi három parancsot egy sorban, pontosvesszővel elválasztva, és nyomja meg az Enter billentyűt. Ez ad egy listát az aktuális könyvtárról (
ls
), derítse ki, hogy melyik könyvtárban tartózkodik (
pwd
), és megjeleníti a bejelentkezési nevét (
whoami
) egyszerre.
ls; pwd; whoami
Önnek sem kell helyet adnia a pontosvesszők és a parancsok között. A három parancsot beírhatja
ls;pwd;whoami
. Azonban a szóközök az összetett parancsot jobban olvashatóvá teszik, ami különösen hasznos, ha kombinált parancsot helyez el egy shell parancsfájlba.
Második lehetőség: A logikai operátor (&&)
Ha azt szeretné, hogy a második parancs csak akkor fusson, ha az első parancs sikeres, különítse el a parancsokat a logikai AND operátorral, ami két nagyértékű (
&&
). Például egy MyFolder nevű könyvtárat akarunk létrehozni, majd átváltunk erre a könyvtárra - feltéve, hogy sikeresen létrejött. Így írjuk be a következő parancsot a parancssorba, és nyomjuk meg az Enter billentyűt.
mkdir MyFolder && cd MyFolder
A mappa sikeresen létrejött, így a
cd
parancs végrehajtásra került, és most az új mappában vagyunk.
Javasoljuk, hogy a pontos időkorlát-kezelő helyett inkább a logikai operátorokat használja (
;
). Ez biztosítja, hogy ne csinálj valamit katasztrofálisan. Például, ha parancsot futtatsz egy könyvtárba való átváltásra, majd kényszeríted a rekurzív módon eltávolítani a könyvtárban lévő összeset (
cd /some_directory; rm -Rf *
), elképzelhetõ, hogy tönkreteszi a rendszert, ha a könyvtárváltozás nem következett be. Nem, hogy javasoljuk, hogy futtasson egy parancsot, hogy egyszerre eltávolítsa az összes fájlt egy könyvtárban.
3. lehetőség: A logikai VAGY operátor (||)
Előfordulhat, hogy csak akkor kívánja végrehajtani a második parancsot, ha az első parancs végrehajtja nemsikerül. Ehhez használjuk a logikai OR operátort, vagy két függőleges sávot (
||
). Például szeretnénk ellenőrizni, hogy létezik-e a MyFolder könyvtár (
[ -d ~/MyFolder ]
) és hozza létre, ha nem (
mkdir ~/MyFolder
). Tehát a parancssorba írjuk be a következő parancsot, és nyomjuk meg az Enter billentyűt.
[ -d ~/MyFolder ] || mkdir ~/MyFolder
Győződjön meg róla, hogy van egy hely az első konzol után és a második konzol előtt vagy az első parancs, amely ellenőrzi, hogy a könyvtár létezik-e nem működik.
Példánkban a MyFolder könyvtár nem létezik, tehát a második parancs létrehozza a könyvtárat.
Több operátor kombinálása
Több operátor is kombinálható a parancssorban. Például szeretnénk először ellenőrizni, hogy van-e fájl (
[ -f ~/sample.txt ]
). Ha igen, akkor egy üzenetet nyomtatunk a képernyőn, mondván:
echo “File exists.”
). Ha nem, hozzuk létre a fájlt (
touch ~/sample.txt
). Tehát a parancssorba írjuk be az alábbiakat, és nyomjuk meg az Enter billentyűt.
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt
Példánkban a fájl nem létezett, ezért létrejött.
-
A; B
- Run A, majd B, tekintet nélkül az A sikerére vagy meghibásodására
-
A && B
- Fuss csak akkor, ha A sikeres
-
A || B
- Futtasson B-t, ha A sikertelen
A parancsok kombinálásának mindegyike használható mind a Linux, mind a Windows 10 shell scriptjein.
Automatikusan helyesírhatja a helyesírást és a hibát akkor, amikor a "cd" parancsot a Linux parancssorában használja, hogy elkerülje a drasztikus következményeket a parancsok kombinálásakor.