Skip to content

Latest commit

 

History

History
28 lines (26 loc) · 571 Bytes

39.md

File metadata and controls

28 lines (26 loc) · 571 Bytes

题目要求

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