English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Метод выполнения нескольких команд в Linux (рекомендуется)

Если каждая команда разделена точкой с запятой, то выполнение предыдущей команды не влияет на выполнение следующей команды

Здесь故意 в第二名命令 echo написано много o, команда была выполнена с ошибкой, но это не повлияло на выполнение следующих команд

Таким образом, если команды разделены точкой с запятой, это эквивалентно разделению команд на различные строки, и успешное или неуспешное выполнение предыдущей команды не влияет на выполнение следующей команды

$ echo 1; echoo 2; echo 3; echo 4
1
-bash: echoo: command not found
3
4

Если команды разделены "&&", то только в том случае, если предыдущая команда была выполнена успешно, продолжается выполнение следующей команды

Здесь故意 в第二名命令 echo написано много o, команда была выполнена с ошибкой, echo 3 не был выполнен, поэтому echo 4 также не был выполнен

$ echo 1 && echoo 2 && echo 3 && echo 4

1
-bash: echoo: command not found

Если команды разделены "||", то только в том случае, если предыдущая команда失败了, продолжается выполнение следующей команды

Здесь echo 1 был выполнен успешно, и не было продолжено выполнение echo 2,sequently echo 3 и echo 4 также не выполнялись

echo 1 || echo 2 || echo 3 || echo 4
1

Здесь echoo 1 не был выполнен успешно, поэтому был выполнен echo 2, который успешно被执行, поэтому echo 3 и echo 4 не выполнялись
echoo 1 || echo 2 || echo 3 || echo 4
-bash: echoo: command not found
2

Анализируем несколько特殊的 примеров по этим правилам, то есть примеров, содержащих смешанные разделители

echo 1 выполнено успешно,紧接着后面有两个 "||", поэтому echo 2 и echo 3 не выполнялись, затем встретился &&, и команды до него считались выполненными успешно, поэтому echo 4 был выполнен
$ echo 1 || echo 2 || echo 3 && echo 4
1
4

echo 1 был успешно выполнен, затем был выполнен echoo 2, но он не был выполнен, поэтому echo 3 не был выполнен, затем встретился "||", и предыдущая группа команд была признана неудачной, поэтому echo 4 был выполнен

$ echo 1 && echoo 2 && echo 3 || echo 4
1
-bash: echoo: command not found
4

echo 1 был успешно выполнен, затем был выполнен echoo 2, но он не был выполнен, поэтому echo 3 не был выполнен, затем встретился ";", что эквивалентно放置у后面的命令 на новой строке, поэтому все后面的 команды будут выполнены, поэтому echo 4 был выполнен
$ echo 1 && echoo 2 && echo 3 ; echo 4
1
-bash: echoo: command not found
4

echoo 1 не удалось выполнить, затем идет "||", поэтому echo 2 был выполнен, echo 2 был успешно выполнен, затем есть два "||", поэтому echo 3 и echo 4 не были выполнены, затем встретился "&&", и предыдущая группа команд была признана успешной, поэтому echoo 5 был выполнен, произошла ошибка выполнения, поэтому echo 6 не был выполнен, но затем есть ";", поэтому echo 7 будет выполнен в любом случае
$ echoo 1 || echo 2 || echo 3 || echo 4 && echoo 5 && echo 6 ; echo 7
-bash: echoo: command not found
2
-bash: echoo: command not found
7

Эту статью о методе выполнения нескольких команд Linux подряд (рекомендуется) яshare с вами все, что я могу. Надеюсь, это даст вам некоторое представление, и希望大家多多支持 крик учебника.

Дополнительные рекомендации