Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何通过tcsh脚本并行运行作业?_Shell_Parallel Processing_Scripting_Tcsh - Fatal编程技术网

Shell 如何通过tcsh脚本并行运行作业?

Shell 如何通过tcsh脚本并行运行作业?,shell,parallel-processing,scripting,tcsh,Shell,Parallel Processing,Scripting,Tcsh,考虑一个包含以下代码的tcsh脚本 #!/bin/tcsh -f set PWD = $PWD if (!a) then mkdir a cd a ln -sfn temp.txt endif cd $PWD/a job << END # some tool specific settings END #/垃圾箱/tcsh-f 设置PWD=$PWD 如果(!a)那么 mkdir a cd a ln-sfn temp.txt 恩迪夫 cd$PWD/a 作业只需在此处

考虑一个包含以下代码的tcsh脚本

#!/bin/tcsh -f

set PWD = $PWD

if (!a) then
  mkdir a
  cd a
  ln -sfn temp.txt
endif 
cd $PWD/a
job << END
# some tool specific settings
END
#/垃圾箱/tcsh-f
设置PWD=$PWD
如果(!a)那么
mkdir a
cd a
ln-sfn temp.txt
恩迪夫
cd$PWD/a
作业只需在此处添加“&”


job我认为
tcsh
-脚本不是更好的解决方案。我不知道您的确切问题是什么,但我会使用
make
(如果不存在文件/目录,则创建文件/目录)。您可以建议如何通过make执行此操作吗?如果您想执行相同的操作三次,但每次都使用不同的目录,您可能应该使用类似shell的
bash
,它支持具有可变参数的函数。假设目录创建几乎是即时的,那么您可能希望利用并行性来加速最后的作业。也可以考虑GNU并行。<代码> EnvialSimult.CsH是在 CSH中编写的一个非平凡程序。由于其性质,它必须用
csh
编写。作为作者,我可以告诉你这是一场噩梦,因此我必须同意@CharlesDuffy:不要使用
(t)csh
,除非你真的不能使用其他任何东西。
job << END
job << END &
# some tool specific settings
END
job >> job_output.out << END &
# some tool specific settings
END