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

Выполнить git pre-commit Хук только если файлы в определенном каталоге изменены
Как проверить, доступно ли подключение к Интернету через терминал
Как я могу удалить все файлы из каталога, имеют определенную длину имени файла?
Я добавил новый путь в список путей, но не смог выполнить программу из любого места linux
Как создать действительный случайный MAC-адрес с помощью bash shell
/usr/bin / env: php: нет такого файла или каталога
Ошибка шпатлевки: операция / bin / bash не разрешена при подключении к Cygwin sshd
Не удается изменить файл "/etc / network / interfaces" с помощью сценария bash в Ubuntu [дубликат]
Скрипт Bash, который автоматически меняет раскладки клавиатуры и мыши на основе активного окна
VLC bash транскодирование сценарий вывода в файл
Терминал, начинающийся с сообщения" no such file or directory: "в OS X
Как я могу заставить команду scp перезаписать папку назначения
Проверьте, соответствуют ли какие-либо параметры скрипта bash строке
Bash: получение сообщений от фонового процесса
Что мне нужно сделать, чтобы смонтировать USB-накопитель в ArchLinux

Как выполнить несколько команд в bash, некоторые в фоновом режиме

Я хотел бы выполнить несколько команд в bash, но некоторые из них выполняются в фоновом режиме. Лучший способ объяснить это-использовать следующую команду, которая не работает...

for@barpc:~> (sleep 30;command1;command2 param ) & ; anotherCommand

Я думаю, это можно рассматривать как два вопроса:

  1. как завершить & в команде?
  2. что было бы лучшим способом сделать это?

другие детали, если они имеют значение:

  • Opensuse 13.2
  • gnome-shell
5
задан JakeGould
источник

2 ответов

вы должны попробовать

(sleep 5; ls) &  echo "Now"

это работает так, как вы хотите.

3
отвечен MariusMatutiae 2015-09-27 07:48:22
источник

все, что вам нужно сделать, это удалить ;. & действует как разделитель команд сам по себе, поэтому добавлять ; после этого недопустимо.

(sleep 30; command1; command2 param ) & anotherCommand

(пробелы после точки с запятой не нужны, я просто легче читать таким образом. Это одно из немногих мест, где пробелы необязательны в синтаксисе оболочки-в большинстве мест они либо обязательны, либо запрещены.)

что касается лучших способов сделать это... это действительно зависит от того, что вы пытаетесь сделать. Нам понадобится больше информации, чтобы сделать лучшие предложения.

4
отвечен Gordon Davisson 2015-09-26 18:43:18
источник

Другие вопросы bash command-line linux linux-terminal