Ich habe ein Bash-Skript, das wie folgt aussieht:
##script
#!/bin/bash
rm data*
rm logfile*
for i in {1..30}
do
## append a & if you want to run it parallel;
nohup Rscript --vanilla main.R 10 100 $i &> logfile"$i" &
done
Ich möchte eine weitere for-Schleife nach der ersten erstellen, um für weitere 30 fortzufahren. Zum Beispiel
##script
#!/bin/bash
rm data*
rm logfile*
for i in {1..30}
do
## append a & if you want to run it parallel;
nohup Rscript --vanilla main.R 10 100 $i &> logfile"$i" &
for i in {31..60}
do
## append a & if you want to run it parallel;
nohup Rscript --vanilla main.R 10 100 $i &> logfile"$i" &
done
Ich möchte, dass der erste Auftragssatz beendet wird, bevor der neue Satz gestartet wird. Aber wegen dem nohup
scheint es, dass sie alle gleichzeitig laufen.
Ich habe, nohup
weil ich mich remote auf meinem Server anmelde und die Jobs dort starte und dann meine Bash schließe. Gibt es eine alternative Lösung?
wait
Durchsuchen Sie das Handbuch nach dem eingebauten.