«STR: команда не найдена» при присвоении значения переменной

9

Я ввел следующие строки в сценарий оболочки под названием «test.sh»:

#!/bin/bash
echo Hello World
STR=”Hello Again”
echo $STR

После chmod для исполняемого файла я запустил скрипт с ./test.sh . Однако я получаю сообщение

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

Что я делаю неправильно?

    
задан Jay Silver 05.07.2016 в 08:56
источник

1 ответ

20

Что вы используете для создания этого скрипта? Котировки, которые у вас есть в вашем вопросе, неверны. Они не являются регулярными двойными кавычками ( " ), но . Обычные кавычки:

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

Пока ваши:

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

Итак, просто используйте обычные кавычки, и все будет хорошо:

#!/bin/bash
echo Hello World
STR="Hello Again"
echo "$STR" ## Get into the habit of ALWAYS quoting your variables as well
    
ответ дан terdon 05.07.2016 в 09:12