shell脚本执行报错syntax error: unexpected end of file

求高手解决
#!/bin/shif [ $# -ne 1 ] then exit 1fidir=$1PASODSPATH=$ODS_HOMEif [ -z $PASODSPATH ]then PASODSPATH="/home/dsadm/PASODS";ficd $PASODSPATHif [ -e $dir ] then exit 1fimkdir $dirchmod 777 $direxit 0

报错代码:mkdir.sh: line 20: syntax error: unexpected end of file

没有使用代码格式,不太方便看。

 

[ -z $PASODSPATH ]

字符串变量在使用时请养成加双引号的习惯 "$PASODSPATH",这样无论是字符串为空或是字符串中含有空格,都不会有任何问题。

改为:

if [ -z "$PASODSPATH" ]; then

或者:

if [ -z "$PASODSPATH" ]
then

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-14
仔细看吧。应该是程序的结构不完整,还没有结束基本结构。比如if else endif 此类。对shell 不是很熟,只能提供意思思路了
第2个回答  2014-11-19
每行后面都加 && 是什么意思啊?
两条命令放在一行执行,前一条执行成功才执行后一条,这种条件关系才用&&。

加一个 & 表示后台执行命令,加两个 & 我就不明白了。
而且,这里必须阻塞,在dos2unix完成前不能执行后面的命令,所以不能用后台执行的方式。
去掉 && 吧
第3个回答  2014-01-14
语法错误了, 需要调试一下的,发下私信过来吧
相似回答