6elkka
@6elkka

Красивый способ задания строковых литералов с управляющими символами в bash?

Требуется использовать строковой литерал в bash, содержащий, например, табуляцию или перевод строки. Вот найденные мной варианты.
Вариант 1:
x="hello
world"

Вариант 2:
x=`echo -e "hello\nworld"`


А можно ли это сделать иначе?
  • Вопрос задан
  • 245 просмотров
Решения вопроса 1
6elkka
@6elkka Автор вопроса
Ответ нашёлся в man bash

Надо экранировать строку с помощью одинарных кавычек и поставить перед ней $:

x=$'a\nb'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
stackoverflow.com/a/1168084

VAR=$(cat <<'END_HEREDOC'
abc'asdf"
$(dont-execute-this)
foo"bar"''
END_HEREDOC
)

echo "$VAR"
Ответ написан
Ваш ответ на вопрос

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

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