
Dê uma olhada nesta saída do 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 que first.sh não é encontrado quando estou no meu diretório pessoal? Eu tentei sair e entrar novamente!
Responder1
Porque você está executando especificamente ./first.sh
, ou seja, um script chamado "first.sh" que está nodiretório atual( ./
). Se está no $PATH ou não, é irrelevante. Se você fornecer um caminho completo, como está fazendo, o sistema procurará o executável no caminho fornecido. Compare os comandos abaixo:
/bin/ls <-- works
ls <-- works
../../bin/ls <-- works if you are in $HOME
./ls <-- fails unless you are in /bin
O que você deseja executar é first.sh
em vez de ./first.sh
.