为什么默认.bashrc设置为若不交互运行则立即返回?

为什么默认.bashrc设置为若不交互运行则立即返回?

在 Ubuntu 默认的 .bashrc 中有以下内容:

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

有人知道为什么会这样吗?如果 shell 以非交互方式运行,bashrc 中是否存在一些不适合运行的内容?

答案1

.bashrc 文件的作用是将 shell 设置为对交互式用户更方便。有用的别名、漂亮的颜色、有用的提示、常用的环境变量,诸如此类。

其中一些便利可能会破坏非交互式脚本。例如:

`alias rm='rm -i'`

非交互情况下无法工作(感谢 zwets)。

相关内容