L'operador pipe (|) s'utilitza per executar dues o més ordres relacionades alhora. L'entrada de l'ordre següent serà la sortida de l'ordre anterior. Per tant, l’èxit de cada ordre depèn de l’èxit de l’ordre anterior sense cap ordre. A l'ordre següent, la primera ordre, ls esbrinarà la llista de fitxers i carpetes de la ubicació actual i enviarà la sortida com a entrada per a la segona ordre, wc . Imprimirà el nombre total de línies, paraules i caràcters en funció de les dades d'entrada.
$ls -la | wc per sort
Punt i coma (;) Operador
L'operador de punt i coma (;) està acostumat a executar dues o més ordres no relacionades alhora. Això significa que la sortida de cada ordre no depèn d'altres ordres. A l'exemple següent, es combinen tres tipus d'ordres i la fallada de cada ordre no crearà cap efecte sobre la sortida d'altres ordres. La primera ordre imprimirà el contingut d’un fitxer, la segona ordre crearà un directori i la tercera ordre canviarà el directori actual.
$gatmyfile.txt;mkdirnewdir;cdEscriptori
Operador AND lògic (&&)
Les ordres que s'executen amb Logical AND (&&) estan relacionades entre si com l'ordre pipe (|). Per tant, si l'ordre anterior no s'executarà correctament, les ordres següents no funcionaran. A l'exemple següent, dues ordres, mkdir i rmdir combinades pels operadors &&. Per tant, l'ordre mkdir no s'ha pogut executar correctament; llavors l'ordre rmdir no s'executarà. Segons la sortida de l'ordre ls, el directori myDir ja existeix a la ubicació actual. Per tant, la primera ordre no s'executarà i per a aquesta segona ordre tampoc no s'executarà.
$ls$mkdirmyDir&& rmdirtemp
$ls
Operador lògic OR (||)
L'operador lògic OR (||) és l'oposat a l'operador lògic AND (&&). L'ordre següent s'executarà si l'ordre anterior no s'executa. Tres ordres de cat es combinen amb l'operador OR (||) a l'exemple següent. Quan executeu l'ordre, primer de tot, intentarà mostrar el contingut del fitxer cat.txt. Si no existeix aquest fitxer a la ubicació actual, provarà d'executar l'ordre següent. Segons la sortida, el fitxer bird.txt existeix a la ubicació actual i es mostra el contingut d’aquest fitxer.
$ cat cat.txt || cat dog.txt || gat ocell.txt
Múltiples ordres amb diversos operadors
Podeu utilitzar diversos operadors per executar diverses ordres alhora. A l'exemple següent, es combinen tres ordres amb operadors OR (||) i AND (&&). Després d’executar l’ordre, primer canviarà el directori actual a newdir si existeix el directori. Si aquesta ordre falla, es crearà el directori executant la segona ordre i imprimirà el missatge, es crea el directori. Segons la sortida, el directori newdir no existeix a la ubicació actual. Per tant, es mostrarà el missatge d’error i el directori es crearà més endavant.
$cdnewdir|| mkdirnewdir&& trobo 'directori creat'
Operador de combinació {}
Es poden combinar dues o més ordres mitjançant aquest operador i, si falla l'execució de la primera, la segona no s'executarà. A l'exemple següent, OR, AND i els operadors de combinació s'utilitzen junts. Les primeres ordres comprovaran si el directori temporal existeix o no a la ubicació actual. Si falla la primera ordre, crearà un directori temporal i imprimirà un missatge. L'última ordre mostrarà la llista de directoris actual.
$[ -dtemp] || { mkdirtemp;troboel directori temporal es crea ara .;} && ls
Operador de precedència ()
Podeu utilitzar aquest operador per agrupar les ordres en el moment de l'execució. Aquí, cada grup funcionarà com una única tasca. A l'exemple següent, es defineixen dos grups d'ordres i, si el primer grup no s'executa, s'executarà el segon grup.
$(cdtemp&& ls-a) || (mkdirtemp&& ls)
Conclusió
Aquest tutorial explicava els operadors més utilitzats per executar diverses ordres a Linux. Però hi ha molts altres operadors que existeixen a bash que s’utilitzen per executar dues o més ordres juntes. Es tracta d’ampersand (&), redirecció (, >>), NO lògic (!), Combinació ({}), etc.