使用shell脚本需要注意的地方
1.脚本中同时包含shell命令与matlab脚本时,执行脚本需要用source命令,而不是sh,如下面的例子。
source proc.sh #能够执行脚本中的matlab程序
sh proc.sh #不能够执行脚本中的matlab程序
2.比较变量是否等于1个值时,可以用下面的命令:
if [ $dd -eq 1 ]
then
matlab -nodesktop -nosplash -nojvm -r "proc;quit;"
else
last=`expr $dd - 1`
cat weight$last.txt >weight.txt
fi
之前跑脚本的时候一直报错,就是因为在判断daishu是否等于1的时候,与方括号没有空格。也就是
if [$dd -eq 1]
现在发现不光方括号内部需要空格,if与[]之间也需要空格,否则就会报错。
3.从文件中粘贴命令到shell环境中,有时会无法执行,自己照着手敲的命令就可以运行,目前还没有找到原因。