写一个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