意外标记'elif'附近的语法错误

时间:2013-09-11 12:54:03

标签: bash

#!/bin/bash
if [ "$1" = "boot" ]
then
     if [ -f /var/log/boot.log ]
     then
         echo /var/log/boot.log
     elif [ -f /var/log/boot ]
     then
         echo /var/log/boot
     fi
fi

显示输出:

: command not foundline 8: GetLogfileName.sh: line 15: syntax error
near unexpected token `elif' 'etLogfileName.sh: line 15: `        
elif [ -f /var/log/boot ]

这里出了什么问题?

2 个答案:

答案 0 :(得分:6)

错误消息表示您的文件在换行符之前有回车符。你在Windows上编辑脚本了吗?使用文本编辑器保存文件而不回车或通过dos2unix(或者d2u)运行脚本

答案 1 :(得分:1)

如果您使用的是vi编辑器,请设置“:set ff = unix”,保存文件,然后重新执行。

此文件格式(ff)set命令告诉vi在保存文件时使用仅限LF的行结尾。

相关问题