当前位置: 技术问答>linux和unix
一个脚本的疑问
来源: 互联网 发布时间:2016-11-06
本文导语: #filename: calculator #!/bin/sh while : do read expression expression=`echo "$expression" | sed 's/*/\*/'` if [ "$expression" = "" ] ; then exit fi eval "expr $expression" done 这个脚本的名字是10-2.sh 我执行./10-2.sh [sn001@localhost ...
#filename: calculator
#!/bin/sh
while :
do
read expression
expression=`echo "$expression" | sed 's/*/\*/'`
if [ "$expression" = "" ] ; then
exit
fi
eval "expr $expression"
done
这个脚本的名字是10-2.sh 我执行./10-2.sh
[sn001@localhost test]$ ./10-2.sh
: command not found
./10-2.sh: line 12: syntax error near unexpected token `done'
./10-2.sh: line 12: `done'
[sn001@localhost test]$
这是一个shell脚本 用于计算简单的数学表达式的, + * / ,但是这些's/*/\*/'看不出来,请赐教
#!/bin/sh
while :
do
read expression
expression=`echo "$expression" | sed 's/*/\*/'`
if [ "$expression" = "" ] ; then
exit
fi
eval "expr $expression"
done
这个脚本的名字是10-2.sh 我执行./10-2.sh
[sn001@localhost test]$ ./10-2.sh
: command not found
./10-2.sh: line 12: syntax error near unexpected token `done'
./10-2.sh: line 12: `done'
[sn001@localhost test]$
这是一个shell脚本 用于计算简单的数学表达式的, + * / ,但是这些's/*/\*/'看不出来,请赐教
|
's/*/\*/' 应该是把*替换为*,便于expr计算
|
那是因为脚本文件的格式不对,你弄成dos格式了
用dos2unix 转换一下
用dos2unix 转换一下