linux 非交互式shell,交互式shell和非交互式shell

6.3.1 What is an Interactive Shell?

An interactive shell

is one started without non-option arguments, unless -s is

specified, without specifying the -c option, and

whose input and error output are both

connected to terminals (as determined by isatty(3)),

or one started with the -i option.

An interactive shell generally reads from and writes to a user’s

terminal.

The -s invocation option may be used to set the positional parameters

when an interactive shell is started.

6.3.2 Is this Shell Interactive?

To determine within a startup script whether or not Bash is

running interactively,

test the value of the ‘-’ special parameter.

It contains i when the shell is interactive.  For example:

点击(此处)折叠或打开

case "$-" in

*i*) echo This shell is interactive ;;

*) echo This shell is not interactive ;;

esac

Alternatively, startup scripts may examine the variable

PS1; it is unset in non-interactive shells, and set in

interactive shells.  Thus:

点击(此处)折叠或打开

if [ -z "$PS1" ]; then

echo This shell is not interactive

else

echo This shell is interactive

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值