将我自己的命令添加到 PATH

将我自己的命令添加到 PATH

我在目录中获得了一个可执行文件(edit_envir) 。我更新了文件以使其包含在中。然后我在终端中运行命令,但它显示。但是,在我复制文件到并再次在终端中运行命令后,它就起作用了。为什么?非常感谢您的帮助。 /home/pshizh/Desktop//etc/environment/home/pshizh/DesktopPATHedit_envir"dit_envir command not foundedit_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。请参阅以下帖子,了解这方面的内容:

相关内容