Porque você está executando especificamente ./first.sh
, ou seja, um script chamado "first.sh" que está no diretório atual ( ./
). Se está no $ PATH ou não é irrelevante. Se você der um caminho completo, como você está fazendo, o sistema irá procurar pelo executável no caminho dado. 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
.