美文网首页
交互式shell与非交互式shell

交互式shell与非交互式shell

作者: 剑雪封侯之 | 来源:发表于2020-03-18 00:56 被阅读0次

    交互式shell会通过tty从tty上读取数据,一般脚本为非交互式(不需要从tty读取数据)。

    非交互式的shell仍然可以访问它的tty.如下所示:

    #将读取到的内容输出
    
    #!/bin/bash
    PROMPT='$ '
    while :
    do
        echo -n "$PROMPT"
        read line
        echo "$line"
    done
    

    测试一个脚本是否运行在交互式shell的方法如下:

    #!/bin/bash
    
    if [ -z $PS1 ]
    then
        echo "运行在交互式shell"
    else
        echo "运行在非交互式shell"
    fi
    

    使用#!/bin/bash -i可以强制脚本运行在交互模式下。慎用,可能会产生各种古怪行为。

    相关文章

      网友评论

          本文标题:交互式shell与非交互式shell

          本文链接:https://www.haomeiwen.com/subject/grufyhtx.html