Ja izmantojat Linux, jūs zināt, cik noderīga var būt komandrindas darbs ar failiem, programmatūras instalēšanu un programmu palaišanu. Bet tas var būt vēl efektīvāks, ja vienlaikus palaižat vairākas komandas.
Kombinējot divas vai vairāk komandas komandrindā, sauc arī par komandu ķēdes virzīšanu. Mēs parādīsim dažādus veidus, kā apvienot komandas komandrindā.
Semikolona (;) operators ļauj jums izpildīt vairākas komandas pēc kārtas, neatkarīgi no tā, vai katra iepriekšējā komanda veiksmīgi. Piemēram, atveriet Terminal logu (Ctrl + Alt + T Ubuntu un Linux Mint). Tad ievadiet trīs šīs komandas vienā rindā, atdalot ar semikolu un nospiediet Enter. Tas jums dos sarakstu ar pašreizējo direktoriju ( ls
), noskaidrojiet, kurš direktorijs jūs pašlaik atrodas ( pwd
) un parādiet savu pieteikšanās vārdu ( kas es esmu
) visi reizē.
ls; pwd; kas es esmu
Arī starp semikoliem un komandām nav jāatliek atstarpes. Jūs varat ievadīt trīs komandas kā ls; pwd; whoami
. Tomēr telpas ļauj apvienotajai komandai padarīt lasāmāku, kas ir īpaši noderīga, ja komandas komandu iekļauj čaulas skriptā.
Ja vēlaties, lai otra komanda palaistu tikai tad, ja pirmā komanda ir veiksmīga, atdaliet komandas ar loģisko UN operatoru, kas ir divi ampersani ( &&
) Piemēram, mēs vēlamies izveidot direktoriju ar nosaukumu MyFolder un pēc tam mainīt uz šo direktoriju, ja tas ir veiksmīgi izveidots. Tātad, mēs komandu rindā ierakstiši tālāk un nospied Enter.
mkdir MyFolder && cd MyFolder
Mape ir veiksmīgi izveidota, tāpēc cd
komanda tika izpildīta, un mēs esam tagad jaunajā mapē.
Lielāko daļu laika mēs ieteicam izmantot loģisko operatoru un operatoru, nevis semikolonu (;
) Tas nodrošina, ka jūs neko nedarat neveiksmi. Piemēram, ja palaižat komandu, lai mainītu uz direktoriju, un pēc tam spēlē rekursīvi izslēdziet visu šajā direktorijā ( cd / some_directory; rm-Rf *
), jūs varētu izbeigt jūsu sistēmas sagrozīšanu, ja direktoriju maiņa nenotika. Nevis, ka mēs iesakām palaist komandu, lai bez ierobežojumiem noņemtu visus failus mapē vienlaicīgi.
Dažreiz jūs varētu vēlēties izpildīt otro komandu tikai tad, ja tā izpilda pirmo komandu nēgūt panākumus. Lai to izdarītu, mēs izmantojam loģisko OR operatoru vai divus vertikālos stieņus ( ||
) Piemēram, mēs vēlamies pārbaudīt, vai pastāv MyFolder katalogs ( [-d ~ / MyFolder]
) un izveidojiet to, ja tas nav ( mkdir ~ / MyFolder
) Tātad, pēc uzvednes mēs ierakstāim šādu komandu un nospied Enter.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Pārliecinieties, ka ir vieta pēc pirmās kronšteina un pirms otrās kronšteina vai pirmā komanda, kas pārbauda, vai direktorija eksistēšana nedarbosies.
Mūsu piemērā MyFolder direktorija neeksistē, tāpēc otrā komanda izveido direktoriju.
Arī komandrindā varat apvienot vairākus operatorus. Piemēram, vispirms mēs vēlamies pārbaudīt, vai ir pieejams fails ( [-f ~ / sample.txt]
) Ja tas notiek, mēs izdrukām ziņu uz ekrāna tā sakot ( echo "Fails pastāv".
) Ja nē, mēs izveidojam failu ( pieskarieties ~ / sample.txt
) Tātad, komandu uzvednē mēs ierakstām šādi un nospied Enter.
[-f ~ / sample.txt] && echo "Fails pastāv". || pieskarieties ~ / sample.txt
Mūsu piemērā šis fails neeksistēja, tāpēc tas tika izveidots.
Šeit ir noderīgs kopsavilkums par katru operatoru, ko izmanto komandu apvienošanai:
A; B
- palaist A un tad B, neatkarīgi no A panākumiem vai neveiksmēmA && B
- palaist B tikai tad, ja A ir izdeviesA || B
- palaist B tikai tad, ja neizdevāsVisas šīs komandu apvienošanas metodes var izmantot arī čaulas skriptus gan Linux, gan Windows 10.
Jūs varat arī automātiski labot pareizrakstību un kļūdas, lietojot "cd" komandrindā Linux, lai izvairītos no krasām sekām, apvienojot komandas.