$在Linux中的作用

美元符号$的两种不同的用法

1.取变量的值(变量替换)

bash 复制代码
[user2@master sbin]$ name="John"
[user2@master sbin]$ echo $name
John
[user2@master sbin]$ echo ${name}
John

2.取命令的输出(命令替换)

旧式语法:反引号`

bash 复制代码
[user2@master sbin]$ echo `date` # 执行date命令,输出其执行结果
Mon May 11 22:54:09 CST 2026
[user2@master sbin]$ echo `which adduser`
/usr/sbin/adduser

新式语法:$()

bash 复制代码
[user2@master sbin]$ echo $(date)
Mon May 11 22:55:25 CST 2026
[user2@master sbin]$ echo $(which adduser)
/usr/sbin/adduser
语法 名称 作用 示例
$var 变量替换 取变量的值 $HOME/home/user
$(command) 命令替换 先执行命令,再用输出结果替换 $(date)2026-05-11...

容易混淆的例子:

bash 复制代码
[user2@master sbin]$ echo $date # 取变量date的值,发生变量替换,$date换成变量date的值:"Hello"
Hello
[user2@master sbin]$ echo $(date) # 执行系统命令date
Mon May 11 22:58:32 CST 2026

一个结合dirname命令的例子

bash 复制代码
[user2@master ~]$ which adduser # 查看adduser命令的所在路径
/usr/sbin/adduser
[user2@master ~]$ cd $(dirname $(which adduser)) # 切换到adduser命令所在的那个目录
[user2@master sbin]$ pwd
/usr/sbin
相关推荐
Tanner_SL3 分钟前
Linux笔记之vim操作
linux·vim
用户0413284651316 分钟前
Linux 查看端口占用的 6 种方法:ss、netstat、lsof 实战
linux
2301_7807896620 分钟前
WAF与Web应用安全的深度融合:从边界防护到业务风控
运维·服务器·网络·云原生·ddos
二宝哥21 分钟前
Rocky Linux 10.2 安装 PostgreSQL 15 完整教程
linux·运维·postgresql
不会就选b22 分钟前
Linux之线程池(二)
linux·运维·服务器
M78佐菲25 分钟前
Linux学习笔记:进程回收、exec函数簇与线程
linux·笔记·学习·算法
OpenFDE开源桌面26 分钟前
实操:如何将安卓 App与Linux系统应用级融合(附代码)
android·linux
Nontee32 分钟前
Quartz 集群 + 策略模式:逾期预警推送系统设计实录
linux·服务器·策略模式
工业HMI实战笔记36 分钟前
【拯救HMI】:工业自动化交互革命:HMI 触摸屏如何成为产线智能中枢
运维·自动化·交互
NJCloud39 分钟前
Openstack(一)——基础环境配置与依赖服务安装
linux·架构·openstack