我在unix中执行了四个任务,但每个任务都取决于前一个任务的完成情况。
在上一个任务完成之前,任务无法执行
nohup ./aa_batch_initial.ksh -s 10011 $UP
nohup ./aa_batch_initial.ksh -s 10021 $UP
如何在shell脚本中编写它?
答案 0 :(得分:1)
在bash // Joda uses MONDAY=1 to SUNDAY=7
if (startDate.getDayOfWeek() < DateTimeConstants.SATURDAY) {
doMyWeekdayThang();
}
中可以用来连接命令。所以以下内容应该符合您的目的。
&&
答案 1 :(得分:0)
命令在shell中按顺序执行。这意味着您可以简单地将命令(“任务”)一个接一个地放置,并且它们将按顺序一个接一个地执行。因此,下一个命令始终在上一个命令完成后启动。
这是一个简单的bash示例:
#!/bin/bash
echo `date +"%H:%M:%S"` >> test.out;
sleep 5;
echo `date +"%H:%M:%S"` >> test.out;
sleep 5;
echo `date +"%H:%M:%S"` >> test.out;
sleep 5;
echo `date +"%H:%M:%S"` >> test.out;
文件test.out
中该脚本的输出是:
11:24:47
11:24:52
11:24:57
11:25:02
如果要从脚本中分离,nohup
实用程序才会起作用,例如,如果要在远程系统上执行某些操作但不保持交互式会话处于打开状态。在这种情况下,您将nohup
命令应用于脚本执行,而不是该脚本中的单个命令。
另一种选择是screen
实用程序,它可以为您提供更多自由,它甚至可以在断开连接后保持shell会话打开,并允许您在以后重新连接到正在运行的会话。