从 qsub 传递到 shell 脚本的未定义变量
Undefined vars passing from qsub to shell script
我在终端中 运行 有一个这样的脚本:
for iter in 1
do
echo FullFilePath.sh $iter | qsub -V -e ~/pbs/ -o ~/pbs/
done
在 shell 文件中,它看起来像这样:
matlab -nosplash -singleCompThread -nojvm -r "a=${iter}"
它 运行 很好,直到它在执行上面的 matlab 代码时出错,错误是我错误地使用了“=”运算符:"a="。基本上 $iter 在 matlab 脚本 运行 时是未定义的。我已经尝试了很多版本并对上面的代码行进行了小的修改,但它总是出错......将不胜感激任何帮助。
在执行脚本之前,您需要 export
您的 iter
变量。
export iter
因此您的脚本可能如下所示:
for iter in {1..5}
do
export iter
sh FullFilePath.sh $iter | qsub -V -e ~/pbs/ -o ~/pbs/
done
或者您可以在 FullFilePath.sh
中添加一行以将变量设置为您的参数 (</code>):</p>
<pre><code>iter=
我在终端中 运行 有一个这样的脚本:
for iter in 1
do
echo FullFilePath.sh $iter | qsub -V -e ~/pbs/ -o ~/pbs/
done
在 shell 文件中,它看起来像这样:
matlab -nosplash -singleCompThread -nojvm -r "a=${iter}"
它 运行 很好,直到它在执行上面的 matlab 代码时出错,错误是我错误地使用了“=”运算符:"a="。基本上 $iter 在 matlab 脚本 运行 时是未定义的。我已经尝试了很多版本并对上面的代码行进行了小的修改,但它总是出错......将不胜感激任何帮助。
在执行脚本之前,您需要 export
您的 iter
变量。
export iter
因此您的脚本可能如下所示:
for iter in {1..5}
do
export iter
sh FullFilePath.sh $iter | qsub -V -e ~/pbs/ -o ~/pbs/
done
或者您可以在 FullFilePath.sh
中添加一行以将变量设置为您的参数 (</code>):</p>
<pre><code>iter=