【发布时间】:2016-03-07 09:04:08
【问题描述】:
我在从 Linux 的父目录提交作业时遇到困难。假设在我的父目录中,我确实有 1000 个名为 1,2,3 .... 的子目录,其中 1000 个子目录中都有一个提交脚本 submit.sh。 我不需要单独访问每个子目录和 qsub,这当然会花费我大量的时间,我需要 qsub 父目录中的所有脚本,以便所有计算和输出都将转储到相应的子目录中。有什么办法吗?
非常感谢您的帮助。
【问题讨论】:
我在从 Linux 的父目录提交作业时遇到困难。假设在我的父目录中,我确实有 1000 个名为 1,2,3 .... 的子目录,其中 1000 个子目录中都有一个提交脚本 submit.sh。 我不需要单独访问每个子目录和 qsub,这当然会花费我大量的时间,我需要 qsub 父目录中的所有脚本,以便所有计算和输出都将转储到相应的子目录中。有什么办法吗?
非常感谢您的帮助。
【问题讨论】:
shell 脚本怎么样?
如果您只需要运行每个submit.sh,那么这应该可以满足您在bash 中的要求:
for i in {1..1000}; do
cd "$i"
./submit.sh
cd ..
done
或者如果您需要将它们作为参数传递给某些东西,例如qsub,然后添加您需要的任何内容,例如:
for i in {1..1000}; do
cd "$i"
qsub submit.sh
cd ..
done
【讨论】:
cd $i; ./submit.sh; cd .. 的内容,以确保每个脚本都以子目录作为工作目录运行。