在哪里获取 .Profile(Ubuntu 21.10)

在哪里获取 .Profile(Ubuntu 21.10)

我最近观看的教学视频说将 export PATH="$PATH..." 语句放入 .profile 中,并在终端中手动获取源代码后将“. ~/.profile”也附加到 .bashrc 文件中。但是,当我这样做时,当我打开新选项卡时,它会弄乱我的终端,而不是允许我从路径访问 bin。

这种行为改变了吗?如果是这样,那么哪里是获取我的配置文件的正确位置,以便打开新选项卡或终端窗口可以访问我引用的 bin 文件夹中的相同命令/可执行文件?

主要需要指导以确保对 .profile 的更改不需要在其他地方引用。回答我的问题的人理解并注意到了这一点 - 在下面标记为答案。

已编辑以提高清晰度并修复错别字。

答案1

Ubuntu 具有从 Debian 继承的非标准设置,其.bashrc文件来源于.profile

$ grep -A1 bashrc /etc/skel/.profile 
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi

因此,如果您随后也.profile从源头~/.bashrc获取信息,则会陷入无限循环,这将破坏您的外壳。

向 中添加新目录的正确方法$PATH是编辑~/.profile。每次启动新的登录 shell 时都会获取该文件,在 Ubuntu 系统上,当您以图形方式登录时也会获取该文件。在修改~/.profile以向 中添加内容后$PATH,更改将在您下次登录时生效。因此,无需创建~/.bashrcsource ~/.profile,只需注销并重新登录,您的更改就会出现在那里。

答案2

答案是:无处可寻。.profile每次登录时都会自动执行 source。每次启动交互式终端时都会执行 source。 尝试在 中再次.bashrc执行 source 是没有用的,这实际上会导致 Ubuntu 上的无限循环,因为是在 中执行的。.profile.bashrc.bashrc.profile

到目前为止,关于你问到的问题,问题

对于你真正的问题,X,即bin在您的 中有一个文件夹PATH:除了 1) 创建~/bin(和/或~/.local/bin),然后 2) 注销并重新登录之外,~/.profile无需执行其他操作。如果这些目录存在,它们会自动添加到您的 PATH(您可以在 中看到执行此操作的代码)。为了保持整洁,请不要将其他目录添加到您的 PATH,尽管您可以在文件中这样做.profile

答案3

export PATH=$PATH':<path>:<another path>'将路径附加到 PATH 环境变量。它是定位可执行文件(程序)时应使用的路径。

如果您有一个名为“Gloop”的程序/home/<user>/bin,并且在 bash shell(终端)中的命令提示符下输入Gloop,它通常不会执行,因为/home/<user>/bin它不在PATH变量中,所以 bash 不知道在那里查找程序名称。

因此,您需要转到第一行,并/home/<user>/bin在 的位置插入您的实际用户名<path>,然后您可以Gloop在命令行中输入,它就会启动。

但有时您想要执行一个程序,但不希望它在 PATH 中。

./Gloop然后,从程序所在的目录中执行操作。我不知道为什么要将 .Profile 的内容附加到 PATH。它通常是空的,所以不会有任何效果!

如果要使对 PATH 环境变量的更改在重新启动后保持不变,请将命令export以及此答案第一行所需的所有其他内容附加到文件末尾/home/<user>/.bashrc

.bashrc保存您的个人 bash 环境。每次登录时都会保存sourced。尝试再看一遍视频,看看作者试图用.Profile

相关内容