Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
在ubuntu中添加永久路径_Ubuntu_Path_Profile - Fatal编程技术网

在ubuntu中添加永久路径

在ubuntu中添加永久路径,ubuntu,path,profile,Ubuntu,Path,Profile,嗨,我正在尝试在ubuntu(18.04.5)中添加一个永久路径,我已经尝试了.profile nano ~/.profile export PATH="$PATH:~/mytools/my_scripts" 然后保存和source ~/.profile,一切都很好,但是如果我打开一个新的终端重新启动ubuntu,它就消失了,脚本不再可用,我必须添加一个新的源代码,这对我不好 我也试过使用/etc/environment sudo nano /etc/enviroment

嗨,我正在尝试在ubuntu(18.04.5)中添加一个永久路径,我已经尝试了.profile

nano ~/.profile 
export PATH="$PATH:~/mytools/my_scripts"
然后保存和source ~/.profile,一切都很好,但是如果我打开一个新的终端重新启动ubuntu,它就消失了,脚本不再可用,我必须添加一个新的源代码,这对我不好

我也试过使用/etc/environment

sudo nano /etc/enviroment

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:~/mytools/my_scripts"
然后

source /etc/enviroment 
同样的问题,每次打开新终端时,/mytools/myu脚本中的脚本不再可用

我不知道我是否在使用/做错事,如何永久添加我所有的个人脚本

在Mac中,只需将路径添加到.bash_配置文件,然后再添加源文件,就很容易了。仅此而已,每次需要我的个人脚本/工具时,我都不需要源文件

我如何在Ubuntu中解决这个问题

哪一个文件我只需要编辑一个


谢谢第一个解决方案:

尝试在
.profile
中用
/home/your\u username/mytools/my\u scripts
替换
~/mytools/my\u scripts
,或者像这样使用
$home
变量

PATH="$HOME/mytools/my_scripts:$PATH"
第二种解决方案

将所有脚本复制到
/usr/bin

cp ~/mytools/my_scripts/* /usr/bin/

您是说重新启动时,您对
~/.profile
所做的更改将被删除吗?如果是这样的话,那么问题是什么导致了这种情况。也许你在另一个启动脚本中有一些东西正在重新创建它。将
~/.profile
复制到另一个文件,然后重新启动,然后将其与副本进行比较。检查时间戳(
ls-l
)。如果您使用的是bash(如果您没有更改它,您可能会这样做),那么在Mac上更新
。bash\u profile
应该与在Ubuntu.BTW上的工作方式相同,我不会对像
/etc/environment
这样的系统范围文件进行特定于帐户的更改(顺便说一句,您在问题中拼错了该文件的名称)。我不会将特定于帐户的脚本复制到系统范围的目录,如
/usr/bin
。如果您需要个人二进制文件,请将它们放在主目录下的目录中。@KeithThompson如果脚本名称是唯一的,是否可以接受?否则,为什么会不鼓励它呢?非常感谢它与PATH=“$HOME/mytools/my_scripts:$PATH”一起工作,但我不知道为什么与/etc/environment一起识别script.py,但在执行时,它不起作用,它说“command not found”,但与.prifile一起工作很好。。。。Thanks@Samy我不知道在
/etc/environment
中如何解释
$HOME
。它可能会扩展到当前用户的主目录。Unix被设计为多用户系统,即使许多安装都是供一个人使用。我发现在系统范围的信息和用户特定的信息之间保持清晰的区别是很有用的。如果希望自己的
~/my\u脚本
位于
$PATH
中,则不需要在
/etc/environment
中执行此操作。(如果系统确实是多用户的,
~/myu脚本
可能不存在于其他用户帐户中,或者,它可能存在,但不是用户在
$PATH
中想要的东西。)。