需要比较bash shell linux中的当前时间

时间:2015-10-20 10:22:58

标签: linux bash shell

我在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

1 个答案:

答案 0 :(得分:0)

当我复制你的脚本时,由于你的变量赋值和'test'条件中的空格('='之后没有空格而''之前需要空格'),我会得到错误。当我解决这些项目,然后脚本工作。但是,您的错误表明您的文件中包含“隐藏”字符,即“\ r”(返回字符。)

要检查这一点,请尝试'cat -E your_file'。

看到任何'^ M或其他奇怪的角色?请注意,您应该看到'$'(行尾标记。)删除'^ M或其他'错误的控制代码',您的脚本应该有效...

:)
戴尔