Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
Bash zsh:未找到命令-仅在我更改路径时有效,但在重新启动终端时,路径会更改回来_Bash_Terminal_Path_Git Bash_Bin - Fatal编程技术网

Bash zsh:未找到命令-仅在我更改路径时有效,但在重新启动终端时,路径会更改回来

Bash zsh:未找到命令-仅在我更改路径时有效,但在重新启动终端时,路径会更改回来,bash,terminal,path,git-bash,bin,Bash,Terminal,Path,Git Bash,Bin,我的箱子里有4个文件。有趣的是,当我在终端给它们打电话时,其中两个可以工作,而另外两个(较新的)不能 我的bin文件如下所示: 当我在终端中输入'which chd project'时(chd project是可以工作的bash脚本之一),它会显示/usr/local/bin/chd project——但是我在Mac上找不到本地文件 当我键入哪个id项目(找不到的bash脚本)时,它只会说找不到id项目 如果我设置了PATH=$HOME/bin,我就可以调用id项目文件。但是,每当我重新启动终端

我的箱子里有4个文件。有趣的是,当我在终端给它们打电话时,其中两个可以工作,而另外两个(较新的)不能

我的bin文件如下所示:

当我在终端中输入'which chd project'时(chd project是可以工作的bash脚本之一),它会显示/usr/local/bin/chd project——但是我在Mac上找不到本地文件

当我键入哪个id项目(找不到的bash脚本)时,它只会说找不到id项目

如果我设置了
PATH=$HOME/bin
,我就可以调用id项目文件。但是,每当我重新启动终端时,它就会再次重置。不过,这有时可能有问题,因为同一bash脚本中的后续命令有时找不到

当我键入
echo$PATH
时,我得到
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

然而,如前所述,我可以在我的终端中调用chd项目(尽管如果我使用“which”,它会显示usr/local/bin),但我不能调用id项目

任何帮助都将不胜感激


谢谢

对于每次启动的会话,您的
路径
变量都是“reset”。这是因为当前会话没有持续设置环境变量。但是,在启动会话之前,它会执行一些文件,例如,这些文件包含
PATH
的值

如果要为打开的每个终端添加此选项,则应在bash配置文件中扩展路径

$echo“导出路径=$PATH:$HOME/bin”>>$HOME/.bashrc
请不要以为不应该覆盖
路径
变量,因为它用于查找
mv
cp
等命令

编辑:
我对Atom不太了解,但如果您打开一个常规(而不是IDE中的)终端,它应该可以工作。可能是Atom由于任何原因没有执行.bashrc。您可以尝试将其添加到您的个人资料中

$echo“导出路径=$PATH:$HOME/bin”>>$HOME/.profile

但既然usr/bin在我的路径变量中,为什么当id project在usr/bin中时我可能找不到它呢?在你的问题中,你说的不是
$HOME/usr/bin
,而是
$HOME/bin
。如果你有两个这样的目录,你也应该添加另一个。此外,决不能完全覆盖
路径
变量。尝试在终端中运行
export PATH=$PATH:$HOME/bin
,然后再次执行
id project
。行吗?嘿!是的,成功了!但我怎样才能使它不必每次执行id项目时都使用导出命令呢?很好读!:-)在我的回答中,我指的是为(bash)会话执行的
.bashrc
。如果您在该文件的末尾添加export命令,它应该每次都能运行。嘿,我运行了$echo“export PATH=$PATH:$HOME/bin”>>$HOME/.bashrc,但是在这之后,我仍然无法运行id project。但是,当我在打开终端的开始处键入export PATH=$PATH:$HOME/bin时,我可以。我是否必须进入atom.bashrc并将该命令作为文件放入其中?