как запустить несколько скриптов bash в одной строке без &&

у меня есть 3 скрипта bash, и я хочу работать одновременно в одной строке

Пример: 1.Ш 2,Ш 3.ш

sudo /etc/init.d/{1,2,3}.sh

но не работает. И crontab не принимает этот формат

Примечание: Я не хочу использовать:

sudo /etc/init.d/1.sh && sudo /etc/init.d/2.sh && sudo /etc/init.d/3.sh

спасибо

6
задан Cyrus
01.12.2022 14:32 Количество просмотров материала 2405
Распечатать страницу

3 ответа

eval "sudo "/etc/init.d/{1,2,3}.sh";"

или

for i in {1..3}; do sudo /etc/init.d/${i}.sh; done
1
отвечен Cyrus 2022-12-02 22:20

попробуй это:

sudo sh -c "/etc/init.d/{1,2,3}.sh"
1
отвечен Dawid Grabowski 2022-12-03 00:37

Не совсем понятно, почему вы не хотите использовать"&&", но если его из-за уверенности в том, что каждый из них возвращает выход OK, вы можете использовать ";" вместо

вы также можете использовать sudo для запуска оболочки с "-c" для передачи аргументов в командной строке, поэтому каждый скрипт может быть запущен только с 1 вызовом sudo.

sudo /bin/bash -c "/path/to/script1; /path/to/script2; /path/to/script3"
1
отвечен davidgo 2022-12-03 02:54

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх