我在目录中获得了一个可执行文件(edit_envir
) 。我更新了文件以使其包含在中。然后我在终端中运行命令,但它显示。但是,在我复制文件到并再次在终端中运行命令后,它就起作用了。为什么?非常感谢您的帮助。 /home/pshizh/Desktop/
/etc/environment
/home/pshizh/Desktop
PATH
edit_envir
"dit_envir command not found
edit_envir
/usr/bin/
edit_envir
答案1
不要编辑/etc/environment
文件!还原更改并将其恢复为原始状态。您的系统应该与多个用户一起工作。想象一下,您创建另一个用户,例如。那么当他登录时会发生什么?他的变量johndoe
中会有您的目录。我敢肯定他不在乎这个!PATH
/home/pshizd/Desktop
PATH
相反,从您自己的个人文件中修改变量.bashrc
:在文件末尾添加此代码片段.bashrc
:
PATH=/home/pshizd/Desktop:$PATH
现在等一下,您自己的脚本不应该位于您的桌面上。相反,bin
在您的主目录中创建一个目录,将您的脚本放在那里,而不是.bashrc
文件中的上一个命令,而是输入以下内容:
PATH=$HOME/bin:$PATH
如果您修改该文件.bashrc
,则更改只会在新终端中生效。
现在,如果您希望所有用户都可以使用此脚本(例如,您希望johndoe
能够执行它,但他不应有权访问您的个人目录),最好的地方是将脚本放在 中/usr/local/bin
。此目录应该已经存在(如有必要,请创建它),并且应该已经存在于每个用户的 中PATH
。通过检查文件来检查这/etc/profile
一点(但不要修改此文件!);您也可以grep
PATH
在那里,如下所示(带有一些上下文行):
grep -C4 PATH /etc/profile
您应该看到它/usr/local/bin
被添加到了用户的PATH
。
顺便说一句,不要把您自己的命令放在这里/usr/bin
!这里是存放您发行版的二进制文件的地方,而不是您个人的。
关于为什么修改后不起作用/etc/environment
:您需要打开一个新的终端才能使更改生效。
答案2
编辑/etc/environment
文件后,如果希望更改生效,您需要注销并重新登录或在终端中获取该文件,如下所示:
source /etc/environment
反正,这不是一个指示方法将目录添加到 PATH。请参阅以下帖子,了解这方面的内容: