“STR: Comando não encontrado” enquanto atribui um valor a uma variável

9

Eu inseri 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, eu corri o script com ./test.sh . No entanto, recebo a mensagem

./test.sh: line 3  STR: Command not found

O que estou fazendo de errado?

    
por Jay Silver 05.07.2016 / 10:56

1 resposta

20

O que você está usando para criar esse script? Os caracteres de citação que você tem em sua pergunta estão errados. Eles não são aspas duplas regulares ( " ), mas . As citações regulares são:

$ uniprops '"' | head -1
U+0022 ‹"› \N{QUOTATION MARK}

Enquanto vocês são:

$ uniprops '”' | head -1
U+201D ‹”› \N{RIGHT DOUBLE QUOTATION MARK}

Então, basta usar aspas normais e você ficará bem:

#!/bin/bash
echo Hello World
STR="Hello Again"
echo "$STR" ## Get into the habit of ALWAYS quoting your variables as well
    
por terdon 05.07.2016 / 11:12