Как мы отделяем переменные от букв в сценариях оболочки
Я попробовал напечатать "Собаки самые лучшие". с этим bash script.
#!/bin/bash
ANIMAL="Dog"
echo "$ANIMALs are the best."
exit
Однако, я получил "лучшие". вместо этого, вместо s
in $ANIMALS
не отделяется от переменной. Как его отделить?
Ответы
Ответ 1
С фигурными скобками: echo "${ANIMAL}s are the best."
С кавычками: echo "$ANIMAL" are the best.'
С printf: printf '%ss are the best.\n' "$ANIMAL"
Я бы не использовал цитаты в большинстве случаев. Я не считаю это доступным для чтения, но хорошо знать.
Ответ 2
Просто коснитесь имени переменной фигурными фигурными скобками.
#!/bin/bash
ANIMAL="Dog"
echo "${ANIMAL}s are the best."
exit
Ответ 3
#!/bin/bash
ANIMAL="Dog"
echo "{$ANIMAL}s are the best."
exit
Ответ больше не уникален, но правильный...
Ответ 4
Переместите переменную вне кавычек в echo:
#!/bin/bash
ANIMAL="Dog"
echo $ANIMAL"s are the best."
exit
ИЛИ:
#!/bin/bash
ANIMAL="Dog"
echo "${ANIMAL}s are the best."
exit
Оба работали для меня
Ответ 5
Бесполезная цитата, бесполезный выход. Финишер script не нуждается в помощи, но выход будет укусить вас при поиске script.
ANIMAL=Dog
echo ${ANIMAL}s are the best.