English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Se ogni comando è separato da ";", allora il comando successivo viene eseguito indipendentemente dal successo o dal fallimento del comando precedente
Qui, a deliberazione, è stato scritto echoo 2 con un o in più, il comando non è stato eseguito correttamente, ma non ha influenzato l'esecuzione dei comandi successivi
Puoi pensare a questo modo, se usi il punto e virgola per separare i comandi, è come se i comandi fossero separati su diverse righe, indipendentemente dal successo o dal fallimento del comando della riga precedente, non influisce sull'esecuzione del comando della riga successiva
$ echo 1; echoo 2; echo 3; echo 4
1
-bash: echoo: comando non trovato
3
4
Se i comandi sono separati da "&&", allora solo se il comando precedente è stato eseguito con successo si procede all'esecuzione del comando successivo
Qui, a deliberazione, è stato scritto echoo 2 con un o in più, il comando non è stato eseguito correttamente, quindi echo 3 non è stato eseguito e neanche echo 4
$ echo 1 && echoo 2 && echo 3 && echo 4
1
-bash: echoo: comando non trovato
Se i comandi sono separati da "||", allora solo se il comando precedente ha fallito si procede all'esecuzione del comando successivo
Qui echo 1 è stato eseguito con successo e non è proseguito con echo 2, quindi non è stato eseguito echo 3 né echo 4
echo 1 || echo 2 || echo 3 || echo 4
1
Qui echoo 1 non è stato eseguito con successo, quindi è iniziato echo 2, eseguito con successo, quindi echo 3 e echo 4 non sono stati eseguiti
echoo 1 || echo 2 || echo 3 || echo 4
-bash: echoo: comando non trovato
2
Secondo le regole sopra menzionate, analizziamo alcuni esempi particolari, ossia esempi che mescolano i separatori concentrati
echo 1 eseguito con successo, seguito da due "||", quindi echo 2 e echo 3 non sono stati eseguiti, poi è apparso &&, e il comando combinato prima di esso è considerato eseguito con successo, quindi echo 4 è stato eseguito
$ echo 1 || echo 2 || echo 3 && echo 4
1
4
L'esecuzione di echo 1 è stata completata con successo, quindi è stato eseguito echoo 2, che è fallito, quindi echo 3 non è stato eseguito. Successivamente, è stato incontrato "||", il che significa che il gruppo di comandi precedente è stato considerato eseguito con successo, quindi echo 4 è stato eseguito.
$ echo 1 && echoo 2 && echo 3 || echo 4
1
-bash: echoo: comando non trovato
4
L'esecuzione di echo 1 è stata completata con successo, quindi è stato eseguito echoo 2, che è fallito, quindi echo 3 non è stato eseguito. Successivamente, è stato incontrato ";", che equivale a mettere i comandi successivi su una nuova riga. Pertanto, i comandi successivi sono stati eseguiti comunque, quindi echo 4 è stato eseguito.
$ echo 1 && echoo 2 && echo 3 ; echo 4
1
-bash: echoo: comando non trovato
4
L'esecuzione di echoo 1 è fallita, quindi il comando successivo è "||", quindi echo 2 è stato eseguito. L'esecuzione di echo 2 è stata completata con successo. Successivamente, ci sono due "||", quindi echo 3 e echo 4 non sono stati eseguiti. Successivamente, è stato incontrato "&&", e il gruppo di comandi precedenti è stato considerato eseguito con successo, quindi echoo5 è stato eseguito. Si è verificato un errore di esecuzione, quindi echo 6 non è stato eseguito, ma c'era un ";", quindi echo 7 è stato eseguito in ogni caso.
$ echoo 1 || echo 2 || echo 3 || echo 4 && echoo 5 && echo 6 ; echo 7
-bash: echoo: comando non trovato
2
-bash: echoo: comando non trovato
7
Questa guida su come eseguire più comandi consecutivi di Linux (raccomandata) è tutto il contenuto che ho condiviso con voi. Spero che possa essere di riferimento per voi e spero che possiate sostenere la guida a urla.