Sou muito novo no bash e tento escrever o primeiro script chamado hello_world
no caminho de /Users/me/Study/Linux
com o conteúdo escrito por vim:
#! bin/bash echo Hello World
No entanto, o erro ocorre quando executado:
-bash: /Users/me/Study/Linux/hello_world: bin/bash: bad interpreter: No such file or directory
Eu li muitas perguntas sobre o problema, mas ainda me sinto totalmente perdido. 🙁 Serei muito grato por sua ajuda.
Comentários
Resposta
A primeira linha de seu script bash deve ser semelhante a esta.
#!/bin/bash
Isso é chamado de “linha shebang” porque os primeiros dois caracteres #!
são shebang . A linha shebang informa ao computador qual programa executável deve ser usado para interpretar o resto do script. Neste caso, você está escrevendo um script bash, mas poderia facilmente estar escrevendo um script para python ou awk, e você precisa informar ao sistema qual interpretador usar com base na linguagem em que o script está escrito.
O motivo de sua linha shebang #! bin/bash
não funciona é b porque você não forneceu um caminho válido (normalmente, um caminho absoluto ) para o interpretador. Se você omitir a barra inicial /
, o shell procura bin
no diretório de trabalho atual, mas não o encontra.
Como você está começando a aprender o bash, sugiro a leitura de um livro. Isso evitará que você tenha que fazer muitas perguntas. Aprender o bash Shell, 3ª edição de Cameron Newham é muito bom.
Comentários
- Observe que o espaço após
#!
não é importante –#!/bin/bash
e#! /bin/bash
ambos trabalhar e#!bin/bash
ou#! bin/bash
só funcionará se vocêcd /
primeiro (então bin for encontrado ) De seu link da Wikipedia " Em branco depois! estão OK "
#! /bin/bash
para o primeira linha