Então, eu escrevi meu primeiro script bash:
#!/bin/bash
echo 'hello world!'
exit
Eu sei que ele tem o local certo para bater e é executável:
$ which bash
/bin/bash
$ chmod +x myscript.sh
Agora eu quero executá-lo na linha de comando, mas recebo um erro:
$ myscript.sh
myscript.sh: command not found
Então, em vez disso, eu tento isso e funciona:
$ bash myscript.sh
hello world!
É assim que eu sempre precisarei executá-lo? Sinto como se tivesse executado outros scripts sem ter que precedê-lo combash
. Como posso executar o myscript.sh sem precisar preceder bash
?
Atualização: Aqui está uma boa explicação de por que e como executar um script bash .
fonte
Além do conselho de Fernández, anteceda-o com um ponto, como este:
Por motivos de segurança, o diretório atual nunca é incluído no caminho de execução.
fonte
Existem três maneiras de executar o script bash. Com o exemplo myscript.sh como o script que você deseja executar.
Método 1
execute o script como um subprocesso, que acionará problemas de permissão, se não o proprietário da gravação. Você pode alterar as permissões pelo chmod.
Método 2
execute o script como um usuário atual. se o script bash estiver bem escrito, não deverá ter erros.
Método 3
semelhante ao método 2, mas um atalho. observe que isso se baseia na suposição de que você está usando o bash shell na sessão atual.
espero que isto ajude!:)
fonte