尽管脚本位于 PATH 中,但仍未找到该脚本

尽管脚本位于 PATH 中,但仍未找到该脚本

看看这个终端输出...

bjorn@jungleland:~$ cd bin
bjorn@jungleland:~/bin$ ./first.sh 
Hello World
bjorn@jungleland:~/bin$ cd ..
bjorn@jungleland:~$ pwd
/home/bjorn
bjorn@jungleland:~$ echo $PATH
/home/bjorn/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/bjorn/bin
bjorn@jungleland:~$ ./first.sh
bash: ./first.sh: No such file or directory
bjorn@jungleland:~$ 

为什么当我在主目录中时找不到 first.sh?我尝试过注销并再次登录!

答案1

因为您正在运行./first.sh,即名为“first.sh”的脚本,它位于当前目录( ./)。它是否在 $PATH 中无关紧要。如果您给出完整路径,就像您正在做的那样,系统将在给定的路径中查找可执行文件。比较以下命令:

/bin/ls      <-- works
ls           <-- works
../../bin/ls <-- works if you are in $HOME
./ls         <-- fails unless you are in /bin

您想要运行的是first.sh而不是./first.sh

相关内容