在 Ubuntu 默认的 .bashrc 中有以下内容:
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
有人知道为什么会这样吗?如果 shell 以非交互方式运行,bashrc 中是否存在一些不适合运行的内容?
答案1
.bashrc 文件的作用是将 shell 设置为对交互式用户更方便。有用的别名、漂亮的颜色、有用的提示、常用的环境变量,诸如此类。
其中一些便利可能会破坏非交互式脚本。例如:
`alias rm='rm -i'`
非交互情况下无法工作(感谢 zwets)。