@HighMan

Почему при выводе из скрипта в файл меняется строчка?

Добрый день, коллеги!
Есть некий объемистый скрипт который из себя должен сформировать другой скрипт.
Вывод сделан так:
cat << EOF > ${filename}
#....
case ${snum} in
#....
EOF

Но в конечном файле из case ${num} in получается case in. Т.е. по не понятной, для меня причине, пропадает переменная.
Что я делаю не правильно?

PS Ой, блин! У меня все отсылки к переменным пропали из конечного скрипта. Т.е. все "слова", начинающиеся с '$'
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Ну так внутри heredoc тоже просходит интерполяция переменных. Так что $ надо экранировать. Либо использовать одинарные кавычки.

https://www.gnu.org/software/bash/manual/html_node...

cat << EOF > ${filename}
#....
case \${snum} in
#....
EOF


или так если интерполяции вообще не нужны
cat << 'EOF' > ${filename}
#....
case ${snum} in
#....
EOF
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Zerg89
А где запись ${snum} > ${filename}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы