В командной строке Linux можно объединять сразу несколько команд в одну строку (в один запуск). Например, вам нужно выполнить сначала одну команду, за ней вторую и так далее. Но вы хотите сразу вбить в командной строке одну инструкцию, которая все сделает. Для этого можно воспользоваться служебными символами.
Выполнение команд последовательно
Например, мы хотим выполнить сначала одну команду. Затем, когда она отработает (вернет управление в командную строку), нам нужно запустить вторую команду. Для этого служит символ точка с запятой ;. Таким образом, если вы выполните в терминале:
mycommand1; mycommand2; mycommand3
то сначала запустится первая команда mycommand1, а когда управление вернется в терминал, то запустится вторая и так далее.
Для теста попробуйте выполнить (в Ubuntu):
gnome-terminal; gedit
Это называется последовательным выполнением команд. Вне зависимости от того, как выполнилась предыдущая команда, вторая команда должна будет запуститься. Можно выполнять команды в зависимости от того, как отработала предыдущая для этого служат символы && и ||.
Зависимое выполнение команд
Символы && и || означают не что иное, как логическое И и ИЛИ. Поэтому когда мы пишем:
mycommand1 && mycommand2 && mycommand3
то это означает, что команда mycommand2 будет выполнена только в том случае, если команда mycommand1 была выполнена успешно. Каждая следующая команда выполняется только при успешном выполнении предыдущей.
Если выполнить конструкцию:
mycommand1 || mycommand2 || mycommand3
то команда mycommand2 будет выполнена только, если mycommand1 вернула ошибку. Каждая следующая команда запускается только если предыдущая вернула ошибку.
Комментарии
21:04
21:11
11:16
08:43
09:58
21:18
15:32
20:30
11:53
13:45
03:03
06:10
command1 &
command2 &
& - запускает команду в фоне и тут же передает управление обратно в командную строку.
00:45
23:40
sudo shutdown -h -P +20 & (обратный слэш, съедается)
mplayer -shuffle -playlist 'Музыка/radio/rr/chmp3.m3u' -cache 512 &
13:04
23:06
22:39
02:20
Команда: ls -la -R |head -10 && tail -10| less -S
Вопрос, почему не выводит в чем ошибка?
17:58
22:36
18:08
sudo apt-get remove transmission && sudo apt-get autoremove
21:18
18:14
05:39
Ну, аналог ("#id").load( грубо говоря.
Ни && ни ; результата не дали.