Digitei as seguintes linhas em um script de shell chamado "test.sh":
#!/bin/bash
echo Hello World
STR=”Hello Again”
echo $STR
Depois de chmod para executável, executei o script com ./test.sh. No entanto, recebo a mensagem
./test.sh: line 3 STR: Command not found
O que estou fazendo errado?
11
A resposta de terdon resolveu sua pergunta? Caso contrário, pode ser que você acidentalmente tenha espaços em torno de sua atribuição de variável.
—
Arronical
@ Poker apenas um comentário estilístico baseado em minha sugestão : acho melhor usar o Blockquote para mensagens de erro em vez do bloco de código; no final, isso não é código, mas algum texto que o intérprete do Bash está retornando.
—
Fedorqui
@fedorqui why? Blocos de citação não preservar a formatação, eles interpretam caracteres especiais (por exemplo
—
terdon 6/07
*, _, #) como markdown, e são processados de forma diferente por software leitor de tela. Penso que tudo o que é dado ou recebido por um computador deve estar em blocos de código. Você nunca sabe quando o formato exato pode ser relevante. Especialmente quando se lida com coisas como esta, onde o unicode entra em cena.
@terdon realmente depende de casos e há até uma solicitação para adicionar formato para logs / avisos / mensagens de erro, o que permite quebra de linha e preserva novas linhas . Para mim, se for apenas uma linha como este caso, prefiro blocos de aspas, pois facilita a compreensão do que é código e do que é erros.
—
Fedorqui 06/07/19
@fedorqui Acho que devemos levá-lo à meta, mas eu sempre prefiro uma fonte de largura fixa e reprodução exata de formato sempre que postar uma mensagem que seja lida ou produzida por um computador.
—
terdon 6/07/16