0

谁能告诉我什么是登录 shell 和交互式 shell 以及它们各自读取的配置(etc/profile、etc/bashrc、.bash_profile ...)?

我看到了一些这样的解释:登录 shell 是一个参数零的第一个字符是 - 或以 --login 选项开头的 shell。交互式 shell 是在没有非选项参数且没有 -c 选项的情况下启动的,其标准输入和错误都连接到终端(由 isatty(3) 确定),或者以 -i 选项启动。PS1 已设置并且 $- 包括 i 如果 bash 是交互式的,则允许 shell 脚本或启动文件测试此状态。

但这更令人困惑!

4

2 回答 2

1

man bash您系统上的命令(INVOCATION部分)讨论了所有这些,并描述了何时读取哪些文件。

于 2012-07-17T03:55:06.223 回答
0

好吧,如果您不信任手册页,请尝试使用 strace。

strace -o/tmp/tr -f bash
exit
grep open /tmp/tr | grep $HOME

对我来说,这表明:

18316 open("/home/sethrobertson/.bashrc", O_RDONLY) = 3

它向你展示了什么?

于 2012-07-17T04:12:04.613 回答