我试图在不同的目录中提交每个批处理作业,即.test1 /,。test2 /,。test3 /。所以我遍历./test*目录并设置变量$ SLURM_SUBMIT_DIR,它控制我提交作业的目录。
#!/bin/bash -l
# script.sh
DIRS="./test*/"
for dir in $DIRS
do
export $SLURM_SUBMIT_DIR =$dir
echo $dir
sbatch submitfile
done
结果如下:
script.sh: line 9: export: `=./test1scan/': not a valid identifier
./test1scan/
Submitted batch job 312892
script.sh: line 9: export: `=./test2scan/': not a valid identifier
./test2scan/
Submitted batch job 312893
script.sh: line 9: export: `=./test3scan/': not a valid identifier
./test3scan/
Submitted batch job 312894
EDITED: 感谢Chepner,错误消失了。但是,作业是在我运行此bash脚本的目录中提交的。有没有办法在不同的目录中提交每个工作?
答案 0 :(得分:2)
你不能在export
的参数中的等号后面加一个空格:
export "$SLURM_SUBMIT_DIR=$dir"