Załóżmy, że mam trzy (lub więcej) skrypty bash: script1.sh, script2.sh, i script3.sh. Chciałbym wywołać wszystkie trzy skrypty i uruchomić je równolegle . Jednym ze sposobów jest wykonanie następujących poleceń:
nohup bash script1.sh &
nohup bash script2.sh &
nohup bash script3.sh &
(Ogólnie rzecz biorąc, skrypty mogą potrwać kilka godzin lub dni, więc chciałbym ich użyć nohup, aby kontynuowały działanie nawet po zamknięciu konsoli).
Ale czy jest jakiś sposób na wykonanie tych trzech poleceń równolegle za pomocą jednego wywołania?
Myślałem o czymś takim
nohup bash script{1..3}.sh &
ale wydaje się to wykonać script1.sh, script2.shi script3.shkolejno, a nie równolegle.
nohup bash script{1..100}.sh &lub for i in {1..100}; do nohup bash script{1..100} &; done), zamiast pisać nohup bash script*.sh &100 razy.
screen(lub tmux), aby rozwiązać problem z konsolą, ale zachować dostęp do danych wyjściowych (i danych wejściowych).
nohup ... & nohup ... & nohup ... &. Jeśli masz na myśli, że chcesz uruchomić wszystkie skrypty bez wpisywania nazwy każdego skryptu osobno, zrobi to prosta pętla.