当前位置: 技术问答>linux和unix
执行shell报错啊 求大神!!!
来源: 互联网 发布时间:2017-04-21
本文导语: #!/bin/bash c="" echo "c=$c" let "c+=1" echo "c=$c" echo "e=$e" let "e+=1" echo "e=$e" shell文件是以上代码 名字是demo1.sh 执行shell的时候报错:: jiangmingtian@renyuqing /cygdrive/d/shell $ sh demo1.sh c= ")syntax error: operand expected (error token...
#!/bin/bash
c=""
echo "c=$c"
let "c+=1"
echo "c=$c"
echo "e=$e"
let "e+=1"
echo "e=$e"
shell文件是以上代码 名字是demo1.sh
执行shell的时候报错::
jiangmingtian@renyuqing /cygdrive/d/shell
$ sh demo1.sh
c=
")syntax error: operand expected (error token is "
c=
e=
")syntax error: invalid arithmetic operator (error token is "
e=
jiangmingtian@renyuqing /cygdrive/d/shell
$
但是这些语句每输入一句执行一次的话就不报错 为什么啊
我用的是cygdrive 求大神帮忙!!
c=""
echo "c=$c"
let "c+=1"
echo "c=$c"
echo "e=$e"
let "e+=1"
echo "e=$e"
shell文件是以上代码 名字是demo1.sh
执行shell的时候报错::
jiangmingtian@renyuqing /cygdrive/d/shell
$ sh demo1.sh
c=
")syntax error: operand expected (error token is "
c=
e=
")syntax error: invalid arithmetic operator (error token is "
e=
jiangmingtian@renyuqing /cygdrive/d/shell
$
但是这些语句每输入一句执行一次的话就不报错 为什么啊
我用的是cygdrive 求大神帮忙!!
|
dos2unix test.sh
./test.sh
|
1.将行尾的字符去掉
sed -e 's/.$//' demo1.sh > demo1_trans.sh
mv demo1_trans.sh demo1.sh
2.或者通过vi强制转换
vi demo1.sh
:set ff=unix
:wq