Come eseguire più comandi in Linux

How Run Multiple Commands Linux



Sono necessari diversi tipi di comandi per essere eseguiti dal terminale in Linux. A volte è necessario eseguire più comandi alla volta in cui i comandi possono dipendere l'uno dall'altro o meno. L'esecuzione di più comandi contemporaneamente viene chiamata concatenamento di comandi. Molti tipi di operatori possono essere utilizzati per il concatenamento di comandi per scopi diversi. In questo tutorial viene mostrato come eseguire due o più comandi utilizzando gli operatori più comunemente utilizzati.

pipe(|) viene utilizzato per eseguire due o più comandi correlati alla volta. L'input del comando successivo sarà l'output del comando precedente. Quindi, il successo di ogni comando dipende dal successo del comando precedente senza il primo comando. Nel comando seguente, il primo comando, ls scoprirà l'elenco di file e cartelle della posizione corrente e invierà l'output come input per il secondo comando, WC . Stamperà il numero totale di righe, parole e caratteri in base ai dati di input.







$ls -l | WC per fortuna



Punto e virgola (;) Operatore

L'operatore punto e virgola (;) viene utilizzato per eseguire due o più comandi non correlati alla volta. Ciò significa che l'output di ciascun comando non dipende da altri comandi. Nell'esempio seguente, tre tipi di comandi sono combinati insieme e il fallimento di ogni comando non creerà un effetto sull'output di altri comandi. Il primo comando stamperà il contenuto di un file, il secondo comando creerà una directory e il terzo comando cambierà la directory corrente.



$gattomiofile.txt ;mkdirnuovadir;cdDesktop





Operatore AND (&&) logico

I comandi eseguiti da Logical AND (&&) sono correlati tra loro come il comando pipe (|). Quindi, se il comando precedente non verrà eseguito correttamente, i comandi successivi non funzioneranno. Nell'esempio seguente, due comandi, mkdir e rmdir combinati dagli operatori &&. Quindi, il comando mkdir non è stato eseguito correttamente, quindi il comando rmdir non verrà eseguito. Secondo l'output del comando ls, la directory myDir esiste già nella posizione corrente. Quindi il primo comando non verrà eseguito e anche per questo secondo comando non verrà eseguito.

$ls
$mkdirmyDir&& rmdirtemperatura
$ls



Operatore OR logico (||)

L'operatore OR logico (||) è l'opposto dell'operatore AND logico (&&). Il comando successivo verrà eseguito se il comando precedente non viene eseguito. Nell'esempio seguente, tre comandi cat sono combinati con l'operatore OR (||). Quando eseguirai il comando, prima di tutto, proverà a visualizzare il contenuto del file cat.txt. Se non esiste alcun file di questo tipo nella posizione corrente, proverà a eseguire il comando successivo. Secondo l'output, il file bird.txt esiste nella posizione corrente e viene visualizzato il contenuto di questo file.

$ cat cat.txt || gatto cane.txt || gatto uccello.txt

Più comandi con più operatori

È possibile utilizzare più operatori per eseguire più comandi contemporaneamente. Nell'esempio seguente, tre comandi sono combinati con gli operatori OR (||) e AND (&&). Dopo aver eseguito il comando, prima di tutto, cambierà la directory corrente in newdir se la directory esiste. Se questo comando fallisce, creerà la directory eseguendo il secondo comando e stampando il messaggio, la directory viene creata. Secondo l'output, la directory newdir non esiste nella posizione corrente. Quindi, viene visualizzato il messaggio di errore e la directory viene creata in seguito.

$cdnuova directory|| mkdirnuova directory&& buttato fuori 'la directory è stata creata'

Operatore di combinazione {}

È possibile combinare due o più comandi utilizzando questo operatore e se l'esecuzione del primo comando fallisce, il secondo comando non verrà eseguito. Nell'esempio seguente, gli operatori OR, AND e combinazione vengono utilizzati insieme. I primi comandi controlleranno che la directory temporanea esista o meno nella posizione corrente. Se il primo comando fallisce, creerà una directory temporanea e stamperà un messaggio. L'ultimo comando mostrerà l'elenco di directory corrente.

$[ -Dtemperatura] || { mkdirtemperatura;buttato fuorila directory temp è stata creata ora.;} && ls

Operatore di precedenza ()

È possibile utilizzare questo operatore per raggruppare i comandi al momento dell'esecuzione. Qui, ogni gruppo lavorerà come un singolo compito. Nell'esempio seguente vengono definiti due gruppi di comandi e se il primo gruppo non viene eseguito, verrà eseguito il secondo gruppo.

$(cdtemperatura&& ls-a) || (mkdirtemperatura&& ls)

Conclusione

Questo tutorial ha spiegato gli operatori più utilizzati per l'esecuzione di più comandi in Linux. Ma ci sono molti altri operatori in bash che sono usati per eseguire due o più comandi insieme. Questi sono e commerciale (&), reindirizzamento (,>>), NOT logico (!), Combinazione ({}) ecc.