关于"行18: 未预期的符号 `fi' 附近有语法错误"

最近有个定时执行的脚本,校验服务是否在启动状态

写好脚本总是报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/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

posted @   大日很忧伤  阅读(2698)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示