У меня есть строка: string="foo=bar boo=far rab=oof raf=oob"
Я хочу заменить все пробелы в строке символом новой строки: string=${string// /$"\n"}
Когда я использую printf
, bash печатает:
~$ printf "%s" "$string"
foo=bar\nboo=far\nrab=oof\nraf=oob
Однако, когда я набрал команду как printf %s""$string
, я получил:
~$ printf %s""$string
foo=bar
boo=far
rab=oof
raf=oob
Какая разница в printf "%s" "$string"
и printf %s""$string
, что printf
будет интерпретировать символы новой строки только в одной из команд?