在Ubuntu上永久更改PATH

soc*_*ket 58 unix linux ubuntu path

我想为PATH的安装添加值":/ home/me/play /"
!框架.
所以我运行了这个命令:

PATH=$PATH:/home/me/play
Run Code Online (Sandbox Code Playgroud)

有效.但是在我下次检查时,价值又变回了原来的价值.

所以我猜我没有"保存"新值,对吗?

你是怎样做的?

nde*_*rge 84

.profile在您的主目录中的文件中添加以下行(使用vi ~/.profile):

PATH=$PATH:/home/me/play
export PATH
Run Code Online (Sandbox Code Playgroud)

然后,要使更改生效,只需输入您的终端:

$ . ~/.profile
Run Code Online (Sandbox Code Playgroud)

  • +1:这比`.bashrc`更正确,因为所有与Bourne兼容的shell都可以读取`.profile`. (11认同)
  • 你可以`.〜/ .profile`使更改在您当前的shell中立即生效. (7认同)
  • 在Ubuntu这个(`$ .~/.profile`)工作,而`source~/.bashrc`没有效果 (2认同)

lol*_*llo 80

export PATH=$PATH:/home/me/play
Run Code Online (Sandbox Code Playgroud)

到你的~/.profile并执行

source ~/.profile 
Run Code Online (Sandbox Code Playgroud)

为了立即反映您当前终端实例的更改.

  • 和`source~/.bashrc`立即反映变化. (6认同)
  • 有人可以解释每行后会发生什么吗?`source`命令有什么作用? (2认同)

Dan*_*sky 7

尝试添加export PATH=$PATH:/home/me/play〜/ .bashrc文件.


Bri*_*ain 6

假设您要为系统上的所有用户添加此路径,请将以下行添加到您的/etc/profile.d/play.sh(可能还有play.csh等):

PATH=$PATH:/home/me/play
export PATH
Run Code Online (Sandbox Code Playgroud)

  • `export VAR = value`是一个Bashism; 您希望将赋值和导出分成两个单独的命令以实现POSIX兼容性. (5认同)
  • 不需要它可执行.该文件是"来源",而不是"已执行" (4认同)