$在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
相关推荐
七牛云行业应用1 小时前
DeepSeek Harness(dsh)安装完整指南:Windows、macOS、Linux 三平台 + 桌面端与 Web 端全覆盖
linux·windows·macos·ai·ai编程
~城南花已开~2 小时前
Intel E810 SR-IOV VF Spoofcheck 防伪造测试-KVM3
服务器·网络·笔记·学习·ubuntu·etl工程师
乌恩大侠2 小时前
Supermicro 发布六款 NVIDIA ARC 服务器:从 1U 边缘基站到 4U 八卡 AI-RAN 平台,全面对比
运维·服务器·人工智能
十年磨一剑~2 小时前
APT 仓库包查看方法文档
linux·ubuntu
DYWorker0012 小时前
第 1-1 课:启动编排:内核如何把自己装配起来
linux
谢白羽2 小时前
从传统运维到 AI Infra: K8s 上调度 100 张 GPU踩坑笔记
运维·人工智能·缓存·kubernetes·vllm·sglang·vllm-omni
ai_coder_ai3 小时前
使用Web IDE边写自动化脚本
运维·前端·自动化
wacsii3 小时前
【Linux基础开发工具(五)】Git版本控制器从入门到实战:核心操作三板斧与新手避坑指南
linux·运维·服务器
水饺编程3 小时前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编
zhongben123_3 小时前
从零开发一个打车APP:技术选型、系统架构与成本评估指南
大数据·运维·ios·系统架构·uni-app·web app