检查指定的shell脚本是否有语法错误

 题目要求
写一个shell脚本,检查指定的shell脚本是否有语法错误,若有错误,首先显示错误信息,然后提示用户输入q或者Q退出脚本,输入其他内容则直接用vim打开该shell脚本。

 参考答案

#!/bin/bash
sh -n $1 2>/tmp/sh.err
if [ $? -ne 0 ]
then
    cat /tmp/sh.err
    read -p "请输入q/Q退出脚本。" c
    if [ -z "$c"]
    then
    vim $1
        exit 0
    fi
    if [ $c == q ] || [ $c == Q ]
    then
    exit 0
    else
    vim $1
    exit 0
    fi
else
    echo "脚本$1没有语法错误."
fi

 

posted @ 2021-02-26 12:34  星火撩原  阅读(284)  评论(0编辑  收藏  举报