看到了这个脚本,我试图弄清楚使用了哪种语言...这几乎就像C一样,但是我注意到fi是关闭嵌套if的一种方式。

function prompt () {
if [ "$noprompt" ] && [ "$#" = "1" ]; then
    if [ "$1" = "yes" ]; then
        echo "DEFAULT: yes"
        return 0
    else
        echo "DEFAULT: no"
        return 1
    fi
fi

while true; do
    echo "Enter \"yes\" or \"no\": "
    read response
    case $response
    in
        Y*) return 0 ;;
        y*) return 0 ;;
        N*) return 1 ;;
        n*) return 1 ;;
        *)
    esac
done
}

最佳答案

这段代码是Unix shell。但是问题的答案



再长一点镜像字的用法(例如ifficaseesac)来自Algol,有关详细信息,请参见comparison of languages。是Stephen Bourne将此内容从Algol传送到Unix shell的,他首先在Algol上工作,后来在早期Unix系统的shadb上工作。他非常喜欢这种语法,以至于他为Csh编写的adb代码也看起来像Algol,这要归功于一堆预处理器宏。好奇的人可以看看source code of shadb的2.11BSD源代码。毕竟它编译为C。因此,即使在C语言中,回溯很长一段历史,也可以找到FI

关于shell - 哪种语言使用 "fi",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6310008/

10-12 17:31