首页 > Sysadmin > 正文

在 Linux 里怎么输入美元符号 $

huyuanwen 2026-10-26 Sysadmin

$ 在终端里不是普通字符——它是变量和命令替换的标志,想原样输出它,关键不是按哪个键,而是让 Shell 别解析它 [1]。

键盘上:同一个键,不同布局

美式键盘上 Shift+4 就是 $。换成法式或德语布局后键位会变,打不出来先确认当前键盘映射,而不是换命令。

Shell 里:引号和转义决定命运

  • 双引号内 $ 照常展开:echo "$HOME" 打印变量值;想原样输出要转义 echo "价格: \$3" [1]。
  • 单引号内一切原样:echo '$HOME' 输出字面 $HOME。
  • ANSI-C 引号直接按字节写:echo $'\x24' 输出 $ [1]。
  • 实测对照:echo "value is $name" 展开变量,echo "\$name" 输出字面 $name,两条命令跑出的结果完全不同。

    不依赖键盘:用 printf 按码点输出

    GNU coreutils 的 printf 支持十六进制 \x24、八进制 \044、Unicode \u0024 三种转义,都输出 $ [2]。在 Makefile、heredoc 里被 $$ 转义规则绕晕时,printf '\x24' 最省事。

    图形界面输入:Ctrl+Shift+U

    GNOME/GTK 应用里可以按码点输入任意 Unicode 字符:按 Ctrl+Shift+U,再打四位码点 0024,按空格或回车 [3]。适合找不到 $ 键位的笔记本或非美式键盘。

    打 $ 的麻烦从来不在键盘,而在引号——先确认 Shell 想对它做什么。


    参考资料

    文中命令已在 WSL Ubuntu 实机执行验证。