var1=$(printf "\n\x0A\n")
var2=$(printf "\na\nb\nc")
使用 Android 终端,输出echo -e "$var1"
(echo 和 printf 相同)什么都没有,甚至连 3 个新行也没有。但echo -e "$var2"
或echo "$var2"
或printf "$var2"
输出:
a
b
c
为什么 $var2 的输出包含空格字符而不包含 $var1 ?
(\n
并且\x0A
具有完全相同的行为。)
答案1
为什么要打印 printf 的结果?
var1="\n\x0A\n"
var2="\na\nb\nc"
printf $var1
printf $var2
那应该有效。
*nix 系统 - LF, 0x0A (dec 10)\n
作为行结尾
windows 操作系统 - CR LF, 0x0D 0x0A (dec: 13 10)\r \n
作为行结尾。