在 scp 出现一些问题(显然,它不喜欢我的.bashrc
文件中存在 bash bind 命令)之后,我听从了互联网上一个聪明人的建议(我现在找不到那个帖子)放在顶部它的.bashrc
文件是这样的:
[[ ${-#*i} != ${-} ]] || return
为了确保除非在交互式会话中,否则不会执行 bash 初始化。
现在,这行得通。但是,我无法弄清楚它是如何工作的。你能启发我吗?
根据这个答案,这$-
是为shell设置的当前选项,我知道这${}
是用于扩展变量的所谓“子字符串”语法。
但是,我不明白这${-#*i}
部分。和为什么$-#*i
不一样${-#*i}
。