script no encontrado aunque está en PATH

script no encontrado aunque está en PATH

Eche un vistazo a esta salida del terminal...

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:~$ 

¿Por qué no se encuentra first.sh cuando estoy en mi directorio de inicio? ¡He intentado cerrar sesión y volver a iniciarla!

Respuesta1

Debido a que está ejecutando específicamente ./first.sh, es decir, un script llamado "first.sh" que se encuentra en eldirectorio actual( ./). Si está en $PATH o no es irrelevante. Si proporciona una ruta completa, como lo está haciendo, el sistema buscará el ejecutable en la ruta indicada. Compara los siguientes comandos:

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

Lo que quieres ejecutar es first.shen lugar de ./first.sh.

información relacionada