如何判断当前 shell 是否是 interactive 的?

如何判断当前 shell 是否是 interactive 的?

如何判断当前 shell 是否是 interactive 的?      
引用:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything:
[ -z "$PS1" ] && return
不过好像不太全

interactive具体如何解释?      
这种方法我也在 .bashrc 里面看到了, 总感觉有点儿土

interactive 是指用户能在其中输入 command      
bash 的 man page 如是说:

PS1 is set and $- includes i if bash is interactive, allowing a shell script or a startup file to test this state.

看来这个办法也算是 official 的了       
引用:
原帖由 dearvoid 于 2007-8-14 17:24 发表
interactive 是指用户能在其中输入 command
一问一答式的输入吗?
似乎不是
因为不读标准输入脚本不一定是“非交互的”

好像cron里运行的都可以称‘非交互’?      
俺理解的 interactive shell 就是平时我们用的 shell 终端了