bash脚本为for循环中的变量赋值

时间:2015-12-07 01:47:29

标签: bash shell slurm

我试图在不同的目录中提交每个批处理作业,即.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脚本的目录中提交的。有没有办法在不同的目录中提交每个工作?

1 个答案:

答案 0 :(得分:2)

你不能在export的参数中的等号后面加一个空格:

export "$SLURM_SUBMIT_DIR=$dir"