当我尝试将字符串分成字符时,它在空格和换行符上失败:
str=" random string
"
echo ${str//?/ \'&}
' 'r 'a 'n 'd 'o 'm ' 's 't 'r 'i 'n 'g '
参数替换以某种方式忽略空格和换行符并将它们解释为空,有没有办法让它识别它们?
这就是扩展后分词。如果引用参数扩展,您将看到所有前导和尾随空格都被保留。
$ str=" random string
"
$ echo ${str//?/ \'&}
' 'r 'a 'n 'd 'o 'm ' 's 't 'r 'i 'n 'g '
$ echo "${str//?/ \'&}"
' 'r 'a 'n 'd 'o 'm ' 's 't 'r 'i 'n 'g '
$