【发布时间】:2021-03-13 04:02:57
【问题描述】:
当我在终端中运行echo "\U0041" 时,我得到“A”。
但是,当我从文件中运行 echo "\U0041" 时,说 example.sh 然后运行它。
bash ./example.sh 或
sh ./example.sh
我得到了文字 \U0041。
为什么?如何从文件中回显/打印“A”。
更新:
-
"$SHELL" --version->zsh 5.8 (x86_64-apple-darwin20.0) - 我使用 brew 将 bash 升级到 bash-5.1。
- 当我在文件中运行
echo $'\u0041'时,我确实看到了“A”
我现在的问题是,当我似乎只能用单引号打印 uf8,但变量需要双引号时,我如何让十六进制代码成为变量?
HEX='0041'
echo $"\u$HEX"
打印:\u0041
【问题讨论】:
-
那是哪个版本的 Bash? Interactive Bash 5.1.4 只打印“\U0041”。
-
我正在使用
bash-3.2运行新的 2020 mac -
交互式终端不是
zsh? -
"$SHELL" --version在您的交互式 shell 中报告什么? -
zsh 5.8 (x86_64-apple-darwin20.0)