关于"行18: 未预期的符号 `fi' 附近有语法错误"
最近有个定时执行的脚本,校验服务是否在启动状态
写好脚本总是报错
#!/bin/sh
# 在这修改程序名和程序所在目录,其他不用改
name="carte"
path="/app/bigdata/data-integration/"
pid=`ps -A |grep $name| awk '{print $1}'`
now=`date "+%Y-%m-%d %H:%M:%S"`
# 检测是否在运行
if [ ! $pid ]
then
echo "$now $name is not running, start it now..."
# 启动程序命令
cd $path
nohup /app/bigdata/data-integration/carte.sh /app/bigdata/data-integration/pwd/carte-config-master-8080.xml >> /data/bigdata/kettle/log/spoon.log 2>&1 &
new_pid=`ps -A |grep $name| awk '{print $1}'`
# 检测是否启动成功
else
echo "$now $name is running, pid is $pid"
fi
结果sh执行的时候总是报错
关于"行18: 未预期的符号 `fi' 附近有语法错误"
然后问人得知,脚本规范严重
于是尝试下列方法,终是成功
sed -i 's/\r$//' xxxx.sh

浙公网安备 33010602011771号