我基本上将所有设置放入我的 .bashrc 中,当我使用 zsh 时,它都在我的 .zshrc 中。
Rust 安装程序刚刚通知我,它已通过修改 .profile 将新安装添加到我的 PATH 中。
事情应该什么时候进行~/.profile
?
这样做只是因为它不知道我正在使用哪个 shell 还是所有一般设置都应该在 .profile 中?
sch*_*ily 11
.profile
被每个登录 shell 读取,.xxxrc
被每个交互式 shell 读取后读取.profile
。
您需要根据自己想要添加的内容来决定。
一个好主意是将设置导出环境变量并因此传播到子 shell 的所有内容放入 .profile 中。
未传播的内容应位于 .bashrc 或您的 shell 查找的任何内容中。例如,这就是别名和函数定义。
Bash 对于运行哪些脚本以及何时运行有一个相当复杂的逻辑。
但它主要归结为:
ulimit
s),则通常只需在每次登录时设置一次,因此将它们放入.profile
而不是放入.bashrc
.PATH
设置(例如,使用类似 的构造将某些内容添加到 的现有值中PATH=$PATH:/some/directory
),那么放入这样的设置.bashrc
将导致每当您启动另一个 shell 进程时都会发生第二次添加,这将是愚蠢的和浪费。例如,如果您设置PATH=$PATH:/some/directory
in .bashrc
,它在您的主 shell 中工作得很好。但是,当您启动编辑器然后使用其 shell 转义功能时,您可能会发现您的 PATH 现在具有类似 的值...:/some/directory:/some/directory
。每层子 shell 都会再次将该目录添加到 PATH 中。可继承的附加设置通常最好放置在.profile
..bashrc
. 如果您在 中定义了它们.profile
,您可能会发现它们在各种应用程序中使用 shell 转义功能启动的 shell 中不可用。.bashrc
(这也意味着您可能需要在您的末尾添加一个命令来获取您的源.profile
,以便会话的主登录 shell 也将获得这些定义,除非您的发行版的标准/etc/profile
或默认.profile
已经提供了该功能。)使用图形用户界面时,又增加了一种复杂性。GUI 会话通常会获取.profile
登录时的内容或等效内容(因为相应的会话启动脚本作为登录 shell 运行),因此在那里进行的任何可继承设置通常都会被桌面环境继承,反过来,任何可继承的设置也将被桌面环境继承。使用桌面图标或菜单启动的应用程序。
X11 GUI 会话中的任何终端窗口都可以通过以下两种方式之一进行设置:
.profile
在打开时将执行或等效操作。.bashrc
或等效。可继承的设置是通过桌面环境/窗口管理器进程从主 GUI 登录会话继承的。 归档时间: |
|
查看次数: |
5659 次 |
最近记录: |