shell脚本错误问题
yesterday(){oset=`echo$TZ|tr-d'[A-Z+]`new_offset=`expr$oset+24`TZ=`echo$TZ|sed"s/[+-]...
yesterday()
{
oset=`echo $TZ|tr -d '[A-Z+]`
new_offset=`expr $oset + 24`
TZ=`echo $TZ|sed "s/[+-]\{0,1\}[0-9][0-9]\{0,1\}/$new_oset/\
`date+%m\/%d\/20%y
}
clear
lastday=`yesterday`
echo "\n\n\n\n\n\n\n\t\t请输入日期(缺省为昨日mm/dd/yyyy):\c"
read days
days=${days:="$lastday"}
这个shell脚本为什么提示:
./yesterday: command substitution: line 1: unexpected EOF while looking for matching `''
./yesterday: command substitution: line 2: syntax error: unexpected end of file
expr: syntax error
./yesterday: command substitution: line 1: unexpected EOF while looking for matching `"'
./yesterday: command substitution: line 2: syntax error: unexpected end of file
哪里有错呢?谢谢! 展开
{
oset=`echo $TZ|tr -d '[A-Z+]`
new_offset=`expr $oset + 24`
TZ=`echo $TZ|sed "s/[+-]\{0,1\}[0-9][0-9]\{0,1\}/$new_oset/\
`date+%m\/%d\/20%y
}
clear
lastday=`yesterday`
echo "\n\n\n\n\n\n\n\t\t请输入日期(缺省为昨日mm/dd/yyyy):\c"
read days
days=${days:="$lastday"}
这个shell脚本为什么提示:
./yesterday: command substitution: line 1: unexpected EOF while looking for matching `''
./yesterday: command substitution: line 2: syntax error: unexpected end of file
expr: syntax error
./yesterday: command substitution: line 1: unexpected EOF while looking for matching `"'
./yesterday: command substitution: line 2: syntax error: unexpected end of file
哪里有错呢?谢谢! 展开
2个回答
展开全部
错误提示中已经说了:
首先yesterday函数中 line 1 有问题
oset=`echo $TZ|tr -d '[A-Z+]`
少了一个匹配的单引号啊
这个错误同时也导致line2的错误
另外,楼上说了,脚本第五行(yesterday函数中的第三行)也缺少匹配的双引号。
建议使用 sh -n scripts.sh 来检查脚本是否有语法问题,
然后使用 sh -x scripts.sh 来显示所有语句的执行过程,
这样可以比较清楚地看出哪里出问题了。
首先yesterday函数中 line 1 有问题
oset=`echo $TZ|tr -d '[A-Z+]`
少了一个匹配的单引号啊
这个错误同时也导致line2的错误
另外,楼上说了,脚本第五行(yesterday函数中的第三行)也缺少匹配的双引号。
建议使用 sh -n scripts.sh 来检查脚本是否有语法问题,
然后使用 sh -x scripts.sh 来显示所有语句的执行过程,
这样可以比较清楚地看出哪里出问题了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |