当前位置: 首页 > news >正文

Shell脚本变量${}与命令$()替换区别

在Shell脚本中,取变量值使用 ${},而 $() 用于命令替换。两者有本质区别:

${} - 变量替换

name="John"
echo "Hello, ${name}"    # 输出: Hello, John
echo "Hello, $name"      # 也可以,但建议用${}更清晰# ${} 的优势场景:
file="test.txt"
echo "${file}.bak"       # 明确变量边界,输出: test.txt.bak
echo "$file.bak"         # 也能工作,但不够清晰# 高级变量操作
path="/home/user/file.txt"
echo "${path##*/}"       # 获取文件名: file.txt
echo "${path%/*}"        # 获取目录: /home/user
echo "${name:-Guest}"    # 默认值: 如果name为空则用Guest

$() - 命令替换

# 执行命令并获取输出
current_date=$(date)
file_count=$(ls | wc -l)
echo "今天日期: $current_date"
echo "文件数量: $file_count"# 嵌套使用
content=$(cat $(find . -name "*.txt" | head -1))

主要区别

特性 ${} $()
用途 变量替换 命令替换
内容 变量名 要执行的命令
返回值 变量的值 命令的标准输出
例子 ${var} $(ls -l)

实际使用建议

# 推荐写法
name="Alice"
greeting="Hello, ${name}! Today is $(date)."# 复杂例子
backup_dir="/backup/$(date +%Y%m%d)"
files_to_backup=$(find /home -name "*.important" 2>/dev/null)echo "备份目录: ${backup_dir}"
echo "找到 ${#files_to_backup[@]} 个重要文件"

总结:用 ${} 获取变量值,用 $() 执行命令并获取输出结果。

http://www.dtcms.com/a/454647.html

相关文章:

  • 本地网站搭建流程如何制作一个好网站
  • 网站建设与维护专业wordpress演示数据包
  • 企业网站建设与管理作业怎样做网站api接口
  • springboot基于javaweb的小零食销售系统的设计与实现(代码+数据库+LW)
  • 网站开发 安全电脑好用的wordpress
  • 中国网站开发的前景网站制作什么
  • 中小企业网站制作广州网络服务公司找赛合泰州城乡建设局网站
  • Python eval() 函数
  • QQ音乐项目的GUI自动化测试
  • 多级流水线与指令预测
  • 网站后台管理系统 模板装潢设计学校
  • CT造影剂外渗文献综述及系统评价
  • 梯形速度规划方法的不同情况介绍
  • 有的网站打不开 但别人电脑能打开临沂网站制作方案
  • 装饰网站建设网网站建设 学校
  • 龙中龙网站开发网站制作对公司的作用
  • 在线推广企业网站的方法是wordpress 文章摘取
  • 建站行业发展苏州高端模板建站
  • [人工智能-综述-25]:如何利用AI克服老龄增长带来的不足,让自己的能力具有持续的竞争力?
  • 做网站用html5seo优化销售话术
  • 栈和队列的相关经典题目
  • 2018年做淘宝客网站还能挣钱吗6wordpress所有人提问
  • 【无标题】高校信息化
  • python做网站源码做视频网站用什么好
  • 广州 网站定制定制开发电商网站建设公司
  • app优化枫林seo工具
  • AssemblyScript 入门教程(6):process全局对象
  • 兴义市住房城乡建设局网站温州建设监理协会网站
  • 网站什么内容网站备案前置审批文件
  • FastDFS分布式文件系统