在bash中[$-=*i*]]是什么意思?

在bash中[$-=*i*]]是什么意思?,bash,Bash,我正在安装,在文档中,他们要求您在.bashrc中添加[[$-=*I*]]和&source~/liquidprompt/liquidprompt 我正在努力理解这句话的第一部分,但对于像我这样一个在狂欢节上游手好闲的人来说,这很难。如果有人有一个好的文档或答案…$-包含当前的shell选项 在[…]中,=的右侧如果没有被引用,则被解释为模式。因此,*i*意味着i前面或后面可能有任何内容 换句话说,它检查i选项是否存在,即当前shell是否是交互式的。它检查shell$-的选项中是否包含i。i用于

我正在安装,在文档中,他们要求您在
.bashrc
中添加
[[$-=*I*]]和&source~/liquidprompt/liquidprompt


我正在努力理解这句话的第一部分,但对于像我这样一个在狂欢节上游手好闲的人来说,这很难。如果有人有一个好的文档或答案…

$-
包含当前的shell选项

[…]
中,
=
的右侧如果没有被引用,则被解释为模式。因此,
*i*
意味着
i
前面或后面可能有任何内容


换句话说,它检查
i
选项是否存在,即当前shell是否是交互式的。

它检查shell
$-
的选项中是否包含
i
i
用于交互

从:

交互式shell是在没有非选项参数和 没有标准输入和错误都连接的-c选项 至端子(由isatty(3)确定),或以-i开头的端子 选项如果bash是交互式的,则设置PS1和$-include i,允许 用于测试此状态的shell脚本或启动文件


进一步有趣的阅读:由liquidprompt维护人员本人(在手册中编写该说明)批准。由liquidprompt维护人员本人(在手册中编写该说明)批准。