我在bash中使用以下脚本来比较当前时间并更改$VAL
的值。但是这个脚本给出了
./ valscr.sh:line 14:语法错误:意外的文件结尾
此脚本中没有第14行。
export NOW= `date +"%k%M"`
export VAL="O"
if [ $NOW -lt 1200]; then
export VAL="M"
fi
if [ $NOW -ge 1200 -a $NOW -lt 1800 ]; then
export VAL="U"
fi
if [ $NOW -ge 1800 ]; then
export VAL="E"
fi
echo $NOW
echo $VAL
答案 0 :(得分:0)
当我复制你的脚本时,由于你的变量赋值和'test'条件中的空格('='之后没有空格而''之前需要空格'),我会得到错误。当我解决这些项目,然后脚本工作。但是,您的错误表明您的文件中包含“隐藏”字符,即“\ r”(返回字符。)
要检查这一点,请尝试'cat -E your_file'。
看到任何'^ M或其他奇怪的角色?请注意,您应该看到'$'(行尾标记。)删除'^ M或其他'错误的控制代码',您的脚本应该有效...
:)
戴尔