我的 $PATH 设置了很多目录,~/bin
包括~/target/bin
我想执行 script.sh,~/target/bin
但出现错误bash: ~/bin/script.sh: No such file or directory
这让我很困惑,因为which
找到了正确的目录 ~/target/bin 并且 ~/target/bin/script.sh 执行正常。
bash 中是否有任何特殊设置可能会导致这种错误的路径处理?
答案1
您可以尝试运行hash -r
以清除可执行缓存。
Bash 将可执行文件的位置保存在缓存中,因此如果您重新运行该命令,它不必再次搜索整个路径。 有关hash
命令的更多信息