$ echo $'a\naa\nac\nb\ncc\tdd\ne\se'
a
aa
ac
b
cc dd
e\se
$
В приведенном выше примере \n представляет новую строку. Для этого синтаксиса $'code\ncode1' терминал сначала печатает code в первой строке и на следующей строке, он печатает code1. [!d0 ]
Итак, в этом примере терминал сначала начинает выполнять код.prints a в 1-й строке, затем переходит к следующему символу. Следующий символ - \n, который представляет новую строку. aa в новой строке. И интерпретатор bash выполняется так. При просмотре этого кода cc\tdd он печатает cc, и после некоторого пробела он печатает dd. Потому что \t представляет tab. он печатает e\se asusual, потому что для \s нет значения.
$ echo $"a\naa\nac\nb\ncc\tdd\ne\se" a\naa\nac\nb\ncc\tdd\ne\se $echo $"text". В этом команда эха отображает все, что указано внутри $"", как оно. Оно не будет parse.
echo $'code' - анализирует код.
echo $"code". Если код содержит переменную доллара, ее следует расширить, иначе она не будет для \ n \ t и печатает все остальное содержимое как есть.