我的 bashrc 包含奇怪的字符(if Ä -f ü/.bash_aliases Å; then . ü/.bash_aliases fi)
my bashrc contains strange characters (if Ä -f ü/.bash_aliases Å; then . ü/.bash_aliases fi)
在 GCP 计算中 Linux 不小心做了 cat filebeat 而不是 filebeat.yaml
之后,我的 bashrc 包含以下字符,如果我键入“~”,bash 正在打印“ü”
需要帮助解决此问题
if Ä -f ü/.bash_aliases Å; then
. ü/.bash_aliases
fi
您的终端似乎被意外配置为旧版 ISO-646-SE 或变体。您的文件可能没问题;只是您的终端根据 1980 年代的方案重新映射了显示字符。
快速十六进制转储应该验证文件中的字符实际上是正确的。这是您应该看到的示例。
bash$ echo '[\]' | xxd
00000000: 5b5c 5d0a [\].
即使字符显示为 ÄÖÅ,如果您看到十六进制代码 5B、5C 和 5D,它们也是正确的。 (如果您没有 xxd
,请尝试 hexdump
或 od -t x1
。)
可能
bash$ tput reset
可以将您的终端设置回正常设置。也许 stty sane
也可能有效(但根据我的经验,可能性较小)。否则,请尝试注销并重新登录。
当 ASCII 是镇上唯一的游戏,但美国(或任何其他)硬件被出口到字符库不足的地方时,本地供应商会更换终端中的 ROM 芯片以重新映射一些不太常见的字符字符代码显示为丢失的本地字形。随着时间的推移,这变得标准化了; ISO-646 标准已更新以记录这些本地覆盖。 (链接的维基百科页面有许多包含详细信息的表格。)
最终,8 位字符集成为标准,然后大多数语言环境切换到 Latin-1 或其他一些不再需要此 hack 的合适字符集。然而,即使在 1990 年代初期,它仍然相当普遍。在 2000 年代初,Unicode 开始接管,所以现在这似乎是一个荒谬的安排。
我猜你碰到的文件 cat
包含一些控制字符,指示你的终端切换到这个旧字符集。这并非完全不常见(尽管通常当它发生在我身上时,它会切换到一些“图形”字符集,其中一些字符显示方框绘图字符或数学符号)。
在 GCP 计算中 Linux 不小心做了 cat filebeat 而不是 filebeat.yaml
之后,我的 bashrc 包含以下字符,如果我键入“~”,bash 正在打印“ü” 需要帮助解决此问题
if Ä -f ü/.bash_aliases Å; then
. ü/.bash_aliases
fi
您的终端似乎被意外配置为旧版 ISO-646-SE 或变体。您的文件可能没问题;只是您的终端根据 1980 年代的方案重新映射了显示字符。
快速十六进制转储应该验证文件中的字符实际上是正确的。这是您应该看到的示例。
bash$ echo '[\]' | xxd
00000000: 5b5c 5d0a [\].
即使字符显示为 ÄÖÅ,如果您看到十六进制代码 5B、5C 和 5D,它们也是正确的。 (如果您没有 xxd
,请尝试 hexdump
或 od -t x1
。)
可能
bash$ tput reset
可以将您的终端设置回正常设置。也许 stty sane
也可能有效(但根据我的经验,可能性较小)。否则,请尝试注销并重新登录。
当 ASCII 是镇上唯一的游戏,但美国(或任何其他)硬件被出口到字符库不足的地方时,本地供应商会更换终端中的 ROM 芯片以重新映射一些不太常见的字符字符代码显示为丢失的本地字形。随着时间的推移,这变得标准化了; ISO-646 标准已更新以记录这些本地覆盖。 (链接的维基百科页面有许多包含详细信息的表格。)
最终,8 位字符集成为标准,然后大多数语言环境切换到 Latin-1 或其他一些不再需要此 hack 的合适字符集。然而,即使在 1990 年代初期,它仍然相当普遍。在 2000 年代初,Unicode 开始接管,所以现在这似乎是一个荒谬的安排。
我猜你碰到的文件 cat
包含一些控制字符,指示你的终端切换到这个旧字符集。这并非完全不常见(尽管通常当它发生在我身上时,它会切换到一些“图形”字符集,其中一些字符显示方框绘图字符或数学符号)。