我正在使用Datastage,它使用main::IO()
main=do
argument<-getLine
--how do i set initial state with argument?
m >> f1 >> f2 >> f3
来调用参数化的Shell脚本。这个问题与数据阶段无关。关于如何调用外壳程序脚本。
现在,datastage的逻辑是每次调用脚本时都要使用不同的参数来调用该脚本三次。例如:
Command Executable Stage
调用脚本的命令如下:
Call script.sh file1.txt -> Wait for `exit 0` -> call script.sh file2.txt -> Wait for `exit 0` -> call script.sh file3.txt -> wait for `exit 0`
我希望做的是同时调用所有三个shell脚本。如何以一种可以同时执行两次的方式调用脚本?
谢谢。
我想感谢这个问题上的来信。需要清除的一件事是,我无法从同一调用中调用所有三个/var/opt/scripts/Project/script.sh file1.txt
命令。这是从应用程序中的三个独立且相同的位置调用的。
谢谢
答案 0 :(得分:0)
GNU并行(https://www.gnu.org/software/parallel/)是用于并行执行作业的Shell工具。
对于您的示例,这样的方法应该起作用:
seq -w 1 3 | parallel ./script.sh file{}.txt
请查看parallel
的手册页及其gnu.org主页上的信息。