如果我执行以下简单脚本:
#!/bin/bash
printf "%-20s %s\n" "Früchte und Gemüse" "foo"
printf "%-20s %s\n" "Milchprodukte" "bar"
printf "%-20s %s\n" "12345678901234567890" "baz"
Run Code Online (Sandbox Code Playgroud)
它打印:
Früchte und Gemüse foo
Milchprodukte bar
12345678901234567890 baz
Run Code Online (Sandbox Code Playgroud)
也就是说,带有变音符号(例如ü
)的文本每个变音符号“缩小”一个字符。
当然,我在某处有一些错误的设置,但我无法弄清楚可能是哪一个。
如果文件的编码为 UTF-8,则会发生这种情况。
如果我将其编码更改为 latin-1,则对齐是正确的,但变音符号呈现错误:
Fr?chte und Gem?se foo
Milchprodukte bar
12345678901234567890 baz
Run Code Online (Sandbox Code Playgroud) 许多问题,例如“如何键入双引号字符 (")?” 正在被问到,我们不想用相同的答案来扰乱我们的社区(输入时
\"
好像不包含在'
s 中,"
如果包含在'
s 中。)所以,问题就在这里。
您不能像普通字符那样在终端中输入特殊字符,例如此命令将失败:
echo Updates (11)
Run Code Online (Sandbox Code Playgroud)
那么,如何在终端中输入这些字符,就像它们是普通字符一样?
echo Updates (11)
Run Code Online (Sandbox Code Playgroud)