Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在Ubuntu上永久更改路径_Linux_Unix_Ubuntu_Path - Fatal编程技术网

Linux 在Ubuntu上永久更改路径

Linux 在Ubuntu上永久更改路径,linux,unix,ubuntu,path,Linux,Unix,Ubuntu,Path,我想在路径中添加值“:/home/me/play/” 为安装播放!框架。 所以我运行了这个命令: PATH=$PATH:/home/me/play 成功了。但在下一次检查时,该值又变回了原来的值 所以我想我没有“保存”新值,对吗 你是怎么做到的 尝试在~/.bashrc文件中添加export PATH=$PATH:/home/me/play。在主目录中的.profile文件中添加以下行(使用vi~/.profile): 然后,要使更改生效,只需键入您的终端: $ . ~/.profile 加

我想在路径中添加值“:/home/me/play/”
为安装播放!框架。
所以我运行了这个命令:

PATH=$PATH:/home/me/play
成功了。但在下一次检查时,该值又变回了原来的值

所以我想我没有“保存”新值,对吗


你是怎么做到的

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

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

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

$ . ~/.profile

到您的
~/.profile
并执行

source ~/.profile 

为了立即反映对当前终端实例的更改。

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


谢谢(还没有检查,我想这就是答案)@SperanskyDanil它一定是
~/.bashrc
,带有一个前导的
,现在它可以工作了,我想我需要重启我的机器才能确定。你可以重新考虑使用更长的
路径;在Ubuntu上,如果存在
$HOME/bin
,它将被添加到您的
路径
;我建议将所有可执行文件添加到
$HOME/bin
中。也许你应该重新配置并重建你的
游戏框架。拥有很长的
路径
(或
LD\u LIBRARY\u路径
)是一场噩梦。属于-->@VladLazarenko:为什么不?(我不太明白区别是什么)+1:这比
.bashrc
更正确,因为
.profile
是由所有Bourne兼容的shell开箱即读的。@tripleee但是
.profile
需要重新启动,对吗?(它对我不起作用,而且我打开了太多的应用程序,无法重新启动)你可以
~/。profile
用于更改在当前shell中立即生效。
echo$PATH
用于验证更改。在Ubuntu上,此(
$.~/.profile
)在
source~/.bashrc
无效时起作用
export VAR=value
是一种巴什主义;为了与POSIX兼容,您需要将分配和导出分离为两个单独的命令。无需将其作为可执行命令。该文件是“源文件”,而不是“已执行”,并且
source~/.bashrc
可以立即反映更改。稍微概括一下——将该行添加到适合您的用例的任何概要文件中<代码>~/.bashrc
不适用于使用另一个shell,或者需要在非登录bash shell和其他复杂性中反映更改的情况。正如tripleee指出的那样,将
export
和赋值组合到一个命令中只对bash有效。为了与POSIX兼容,将其编写为两个命令。另外,要将其转换为显式命令:
echo“PATH=$PATH:/home/me/play;export PATH”>~/.profile;~/。个人资料
有人能解释一下每行之后会发生什么吗?
source
command做什么?从文件中读取命令并在当前shell环境中执行它们。
export PATH=$PATH:/home/me/play
source ~/.profile 
PATH=$PATH:/home/me/play
export PATH