题目要求
写一个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
来源:oschina
链接:https://my.oschina.net/u/3954059/blog/3104154