在Linux中添加东西到PATH



我最近开始使用Linux,并且对如何将某些内容设置为PATH感到困惑,我经历了许多wiki,但事情并没有得到清除,就像我想知道将内容放入。bashrc文件和/etc/environment文件之间的区别是什么,我们是否将目录路径仅放入。bashrc文件中,或者是否有一些其他文件我们可以使用它来提及我们的环境变量?

您的选项是:/etc/bashrc,/etc/profile,~/.bashrc,~/.profile

假设你使用BASH作为你的shell(默认在CentOS, OpenSUSE, Knoppix和其他)。

前两个通常不被使用,因为它们会随着系统更新而改变。如果您必须设置全局路径和环境(即每个用户),请使用/etc/bashrc.local/etc/profile.local

如果你想设置env。变量为您自己/一个用户,然后使用~/.bashrc~/.profile~/.profile仅为登录shell读取(根据我的评论):

# This file is read each time a login shell is started.
# All other interactive shells will only read .bashrc; this is particularly
# important for language settings, see below.

所以你开始点击Terminal图标的shell将读取~/.bashrc

作为一项规则,我倾向于把我的全局PATH修改(即CUDA)到/etc/bashrc.local和任何只为我进入~/.bashrc

修改PATH(和其他)应该通过前置来完成:export PATH=<path>/<to>/<new SW binaries>:$PATH作为PATH从左到右解析,您可能希望手动安装取代系统上的任何默认安装。

我想知道把东西放入。bashrc文件和/etc/environment文件有什么区别,

Linux是一个多用户系统。同一台Linux计算机(例如笔记本电脑)可以由您和您的伙伴使用。上午10点你在使用它,下午3点你把你的笔记本电脑给你的伴侣,他会使用它(使用不同的登录名)。你可以配置你的笔记本电脑,将你的文件隐藏给你的伴侣。

Linux工作站可以由几个用户(人)同时使用。例如,您可以购买一个Linux桌面,并将两个屏幕,两个键盘,两个鼠标插入其中,并将所有这些配置为让两个不同的人同时使用它。

Linux术语是"座位"。(它指的是一个人坐在Linux屏幕前,经常有键盘和鼠标)。参见sd_get_seats函数。

你甚至可以配置你的笔记本电脑,这样你的同事就可以通过ssh从他/她的笔记本电脑B访问你的笔记本电脑A。

考虑到这一点:

  • /etc/environment(像/etc/下的其他文件一样)全局设置一些东西(对于使用GNU bash的用户)

  • 您的$HOME/.bashrc(例如,如果您的$HOME/home/peter,则/home/peter/.bashrc)是针对您的。您的同事John(访问同一台计算机)将使用/home/john/.bashrc

    中的设置
  • John可以有一个不同的登录shell(例如zsh)。然后他的设置在/home/john/.zshrc和其他文件中。

  • 大多数超级计算机(价值1000万欧元或10MUS$)运行Linux,并由数百名不同的人(坐在不同的办公室,甚至城市)同时使用。

由于setuid技术,许多Linux发行版(在内部)使用其他"用户"。限制对数据库等服务的访问。参见syscalls(2)、execve(2)和elf(5)。

$PATH在environ(7)中解释,并由exec(3)等函数使用(大多数Unix shell都调用)。许多Linux shell都是开源的(例如GNU bash或zsh),您可以研究它们的源代码(并对其进行改进),或者编写自己的shell。我建议有一个简短的$PATH

相关内容

  • 没有找到相关文章

最新更新