Рейтинг:0

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

флаг th

прямая передача строки с $ к эхо

$ echo $'#include <iostream>\nint main() {\n std::cout << \"Hello World!\" << std::endl;\n}'

расширяет встроенные управляющие последовательности ANSI

#include <иопоток>
интервал основной () {
  std::cout << "Привет, мир!" << стд::эндл;
}

Я присвоил строку переменной

codeStr='#include <iostream>\nint main() {\n std::cout << \"Hello World!\" << std::endl;\n}'

а затем повторите переменную

эхо $codeStr

Я получил необработанную строку, а не форматированный текст.

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

Рейтинг:1
флаг sd

Использовать переключить на включить интерпретацию экранирования обратной косой черты.

$ codeStr='#include <iostream>\nint main() {\n std::cout << \"Hello World!\" << std::endl;\n}'
$ эхо -e $codeStr 
#include <иопоток>
интервал основной () {
 std::cout << \"Привет, мир!\" << std::endl;
}
флаг hr
... обратите внимание, что в то время как `$'...'` обрабатывает `\"` как escape-последовательность, встроенная оболочка bash `echo -e` этого не делает (следовательно, вывод здесь фактически отличается от OP). См. также [Почему printf лучше, чем эхо?] (https://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.