找不到命令,尽管它在 $PATH 中
Command not found, although it is in the $PATH
我的系统没有找到 phpunit
,虽然它肯定在我的 $PATH
.
我正在使用 ubuntu 16.04。
这是我的路径,其中包含 /usr/local/bin
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
composer
和 phpunit
都在同一目录中:
$ which composer;which phpunit
/usr/local/bin/composer
/usr/local/bin/phpunit
但是当我打电话给他们时,虽然找到了 composer
,但找不到 phpunit
...既然找到了 composer
,我的路径应该没问题...
$ composer --version;phpunit --version
Composer version 1.4.2 2017-05-17 08:17:52
-bash: /usr/bin/phpunit: Datei oder Verzeichnis nicht gefunden
当我用 which 命令所说的整个路径调用它时,它起作用了....
$ /usr/local/bin/phpunit --version
PHPUnit 6.2.3 by Sebastian Bergmann and contributors.
而且我没有别名:
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
我是不是遗漏了什么?
删除 bash 的可执行文件位置散列
运行
hash phpunit
解释:
/usr/bin/
文件夹中有一个 phpunit
二进制文件(从错误消息中可以看出)。
现已移至 /usr/local/bin/
。
但是 bash 存储了以前找到的可执行文件的位置并且不会立即更新它们,因此应该清除旧的 /usr/bin/phpunit
位置以便找到新的位置。
查看 this ServerFault answer 了解更多信息。
我的系统没有找到 phpunit
,虽然它肯定在我的 $PATH
.
我正在使用 ubuntu 16.04。
这是我的路径,其中包含 /usr/local/bin
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
composer
和 phpunit
都在同一目录中:
$ which composer;which phpunit
/usr/local/bin/composer
/usr/local/bin/phpunit
但是当我打电话给他们时,虽然找到了 composer
,但找不到 phpunit
...既然找到了 composer
,我的路径应该没问题...
$ composer --version;phpunit --version
Composer version 1.4.2 2017-05-17 08:17:52
-bash: /usr/bin/phpunit: Datei oder Verzeichnis nicht gefunden
当我用 which 命令所说的整个路径调用它时,它起作用了....
$ /usr/local/bin/phpunit --version
PHPUnit 6.2.3 by Sebastian Bergmann and contributors.
而且我没有别名:
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
我是不是遗漏了什么?
删除 bash 的可执行文件位置散列
运行
hash phpunit
解释:
/usr/bin/
文件夹中有一个 phpunit
二进制文件(从错误消息中可以看出)。
现已移至 /usr/local/bin/
。
但是 bash 存储了以前找到的可执行文件的位置并且不会立即更新它们,因此应该清除旧的 /usr/bin/phpunit
位置以便找到新的位置。
查看 this ServerFault answer 了解更多信息。