如何通过PBS环境中的qsub作业脚本将数组作为变量列表传递?
例如:
arr1=(1 2 3); arr2(a b c); qsub -v array1=("${arr1[@]}"), array2=("$arr2[@]") job_script.bash
其中job_script.bash
包含数组变量array1
和array2
。
当我尝试运行上述命令提交我的工作时,我收到以下错误:
-bash: syntax error near unexpected token `('
我在语法中遗漏了什么?
我查了很多论坛寻求帮助,但没有找到任何关于如上传递数组的内容。
任何人都可以帮我解决上述情况吗?
答案 0 :(得分:0)
问题似乎与qsub
无关,而是您没有在shell中正确创建arr2
变量...
# You did this...
arr1=(1 2 3); arr2(a b c);
# You meant this...
arr1=(1 2 3); arr2=(a b c);
答案 1 :(得分:-1)
我每天都使用qsub。也许是一个愚蠢的答案,但问题可能是由于你在-v参数中的两个数组变量之间留下的空间?
即。你的qsub命令应该是 " qsub -v array1 =(" $ {arr1 [@]}"),array2 =(" $ arr2 [@]")job_script.bash"