gpt4 book ai didi

bash - 直接给pbs脚本传参

转载 作者:行者123 更新时间:2023-11-29 08:51:44 25 4
gpt4 key购买 nike

有没有办法在提交作业之前直接将参数传递给.pbs 脚本?我需要遍历由不同数字指示的文件列表,并应用脚本来分析每个文件。

我能想到的最好的是:

#!/bin/sh 

for ((i= 1; i<= 10; i++))
do
export FILENUM=$i
qsub pass_test.pbs
done

其中 pass_test.pbs 是以下脚本:

#!/bin/sh

#PBS -V
#PBS -S /bin/sh
#PBS -N pass_test
#PBS -l nodes=1:ppn=1,walltime=00:02:00
#PBS -M XXXXXX@XXX.edu

cd /scratch/XXXXXX/pass_test

./run_test $FILENUM

但这感觉有点靠不住。特别是,我想避免必须创建一个环境变量来处理这个问题。

最佳答案

qsub 实用程序可以从标准输入读取脚本,因此通过使用此处文档,您可以动态 即时创建脚本:

#!/bin/sh

for i in `seq 1 10`
do
cat <<EOS | qsub -
#!/bin/sh

#PBS -V
#PBS -S /bin/sh
#PBS -N pass_test
#PBS -l nodes=1:ppn=1,walltime=00:02:00
#PBS -M XXXXXX@XXX.edu

cd /scratch/XXXXXX/pass_test

./run_test $i
EOS
done

就个人而言,我会使用更紧凑的版本:

#!/bin/sh

for i in `seq 1 10`
do
cat <<EOS | qsub -V -S /bin/sh -N pass_test -l nodes=1:ppn=1,walltime=00:02:00 -M XXXXXX@XXX.edu -
cd /scratch/XXXXXX/pass_test
./run_test $i
EOS
done

关于bash - 直接给pbs脚本传参,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com