Как выполнять команды очереди

Предположим, что у меня есть задания для запуска один за другим, как я могу их поставить в очередь и, если возможно, сохранит вывод / журнал, который производит каждый скрипт. (например, я могу использовать для планирования задач, но я не получаю журнал / вывод каждого приложения)

3
задан 4 August 2011 в 18:47

18 ответов

Если вы хотите выполнить несколько команд в интерактивном режиме, просто отделите их точкой с запятой:

foo ; bar ; baz

Если вы хотите поставить в очередь пакет команд, которые будут выполняться в фоновом режиме, когда система не слишком занят и, возможно, после того, как вы вышли из системы, вы можете использовать команду batch. Вывод заданий, выполняемых с batch, at или cron, отправляется вам по электронной почте. Для этого вам нужно настроить локальный почтовый сервер.

4
ответ дан 25 May 2018 в 19:29
  • 1
    +1, если у вас нет конкретной причины использовать &&, это лучше. – user606723 4 August 2011 в 22:05

Если вы хотите выполнить несколько команд в интерактивном режиме, просто отделите их точкой с запятой:

foo ; bar ; baz

Если вы хотите поставить в очередь пакет команд, которые будут выполняться в фоновом режиме, когда система не слишком занят и, возможно, после того, как вы вышли из системы, вы можете использовать команду batch. Вывод заданий, выполняемых с batch, at или cron, отправляется вам по электронной почте. Для этого вам нужно настроить локальный почтовый сервер.

4
ответ дан 25 July 2018 в 21:30

Если вы хотите выполнить несколько команд в интерактивном режиме, просто отделите их точкой с запятой:

foo ; bar ; baz

Если вы хотите поставить в очередь пакет команд, которые будут выполняться в фоновом режиме, когда система не слишком занят и, возможно, после того, как вы вышли из системы, вы можете использовать команду batch. Вывод заданий, выполняемых с batch, at или cron, отправляется вам по электронной почте. Для этого вам нужно настроить локальный почтовый сервер.

4
ответ дан 2 August 2018 в 03:08

Если вы хотите выполнить несколько команд в интерактивном режиме, просто отделите их точкой с запятой:

foo ; bar ; baz

Если вы хотите поставить в очередь пакет команд, которые будут выполняться в фоновом режиме, когда система не слишком занят и, возможно, после того, как вы вышли из системы, вы можете использовать команду batch. Вывод заданий, выполняемых с batch, at или cron, отправляется вам по электронной почте. Для этого вам нужно настроить локальный почтовый сервер.

4
ответ дан 4 August 2018 в 19:00

Если вы хотите выполнить несколько команд в интерактивном режиме, просто отделите их точкой с запятой:

foo ; bar ; baz

Если вы хотите поставить в очередь пакет команд, которые будут выполняться в фоновом режиме, когда система не слишком занят и, возможно, после того, как вы вышли из системы, вы можете использовать команду batch. Вывод заданий, выполняемых с batch, at или cron, отправляется вам по электронной почте. Для этого вам нужно настроить локальный почтовый сервер.

4
ответ дан 6 August 2018 в 03:20

Если вы хотите выполнить несколько команд в интерактивном режиме, просто отделите их точкой с запятой:

foo ; bar ; baz

Если вы хотите поставить в очередь пакет команд, которые будут выполняться в фоновом режиме, когда система не слишком занят и, возможно, после того, как вы вышли из системы, вы можете использовать команду batch. Вывод заданий, выполняемых с batch, at или cron, отправляется вам по электронной почте. Для этого вам нужно настроить локальный почтовый сервер.

4
ответ дан 7 August 2018 в 21:06

Напишите команды с & amp; & amp; между ними, например: command1 && command2

Примечание: вторая команда не будет выполнена, если первая команда вернет ошибку

3
ответ дан 25 May 2018 в 19:29
  • 1
    Вы можете отдельно сохранить stdout каждого из них с нормальным переназначением bash: command1 > afile && command2 > anotherfile – kyleN 4 August 2011 в 21:28

Если это длинный список команд или вы собираетесь делать это достаточно часто, я бы сделал скрипт для этого.

shell-скрипты такого рода чрезвычайно просты.

#!/bin/bash
foo
bar
baz

Просто поместите этот текст в файл, включите исполнение (chmod +x myscript), а затем ./myscript и отпустите.

Это выполнит команды foo , bar и baz, предполагая, что все они блокируются.

Если вы когда-нибудь захотите сделать что-то более сложное, см. Руководство по расширенному Bash-скрипту

1
ответ дан 25 May 2018 в 19:29

Напишите команды с & amp; & amp; между ними, например: command1 && command2

Примечание: вторая команда не будет выполнена, если первая команда вернет ошибку

3
ответ дан 25 July 2018 в 21:30
  • 1
    Вы можете отдельно сохранить stdout каждого из них с нормальным переназначением bash: command1 > afile && command2 > anotherfile – kyleN 4 August 2011 в 21:28

Если это длинный список команд или вы собираетесь делать это достаточно часто, я бы сделал скрипт для этого.

shell-скрипты такого рода чрезвычайно просты.

#!/bin/bash foo bar baz

Просто поместите этот текст в файл, включите исполнение (chmod +x myscript), а затем ./myscript и отпустите.

Это выполнит команды foo , bar и baz, предполагая, что все они блокируются.

Если вы когда-нибудь захотите сделать что-то более сложное, см. Руководство по расширенному Bash-скрипту

1
ответ дан 25 July 2018 в 21:30

Напишите команды с & amp; & amp; между ними, например: command1 && command2

Примечание: вторая команда не будет выполнена, если первая команда вернет ошибку

3
ответ дан 2 August 2018 в 03:08
  • 1
    Вы можете отдельно сохранить stdout каждого из них с нормальным переназначением bash: command1 > afile && command2 > anotherfile – kyleN 4 August 2011 в 21:28

Если это длинный список команд или вы собираетесь делать это достаточно часто, я бы сделал скрипт для этого.

shell-скрипты такого рода чрезвычайно просты.

#!/bin/bash foo bar baz

Просто поместите этот текст в файл, включите исполнение (chmod +x myscript), а затем ./myscript и отпустите.

Это выполнит команды foo , bar и baz, предполагая, что все они блокируются.

Если вы когда-нибудь захотите сделать что-то более сложное, см. Руководство по расширенному Bash-скрипту

1
ответ дан 2 August 2018 в 03:08

Напишите команды с & amp; & amp; между ними, например: command1 && command2

Примечание: вторая команда не будет выполнена, если первая команда вернет ошибку

3
ответ дан 4 August 2018 в 19:00
  • 1
    Вы можете отдельно сохранить stdout каждого из них с нормальным переназначением bash: command1 > afile && command2 > anotherfile – kyleN 4 August 2011 в 21:28

Если это длинный список команд или вы собираетесь делать это достаточно часто, я бы сделал скрипт для этого.

shell-скрипты такого рода чрезвычайно просты.

#!/bin/bash foo bar baz

Просто поместите этот текст в файл, включите исполнение (chmod +x myscript), а затем ./myscript и отпустите.

Это выполнит команды foo , bar и baz, предполагая, что все они блокируются.

Если вы когда-нибудь захотите сделать что-то более сложное, см. Руководство по расширенному Bash-скрипту

1
ответ дан 4 August 2018 в 19:00

Напишите команды с & amp; & amp; между ними, например: command1 && command2

Примечание: вторая команда не будет выполнена, если первая команда вернет ошибку

3
ответ дан 6 August 2018 в 03:20
  • 1
    Вы можете отдельно сохранить stdout каждого из них с нормальным переназначением bash: command1 > afile && command2 > anotherfile – kyleN 4 August 2011 в 21:28

Если это длинный список команд или вы собираетесь делать это достаточно часто, я бы сделал скрипт для этого.

shell-скрипты такого рода чрезвычайно просты.

#!/bin/bash foo bar baz

Просто поместите этот текст в файл, включите исполнение (chmod +x myscript), а затем ./myscript и отпустите.

Это выполнит команды foo , bar и baz, предполагая, что все они блокируются.

Если вы когда-нибудь захотите сделать что-то более сложное, см. Руководство по расширенному Bash-скрипту

1
ответ дан 6 August 2018 в 03:20

Напишите команды с & amp; & amp; между ними, например: command1 && command2

Примечание: вторая команда не будет выполнена, если первая команда вернет ошибку

3
ответ дан 7 August 2018 в 21:06
  • 1
    Вы можете отдельно сохранить stdout каждого из них с нормальным переназначением bash: command1 > afile && command2 > anotherfile – kyleN 4 August 2011 в 21:28

Если это длинный список команд или вы собираетесь делать это достаточно часто, я бы сделал скрипт для этого.

shell-скрипты такого рода чрезвычайно просты.

#!/bin/bash foo bar baz

Просто поместите этот текст в файл, включите исполнение (chmod +x myscript), а затем ./myscript и отпустите.

Это выполнит команды foo , bar и baz, предполагая, что все они блокируются.

Если вы когда-нибудь захотите сделать что-то более сложное, см. Руководство по расширенному Bash-скрипту

1
ответ дан 7 August 2018 в 21:06

Другие вопросы по тегам:

Похожие вопросы: