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

 更新时间:2025年11月30日 09:55:09   作者:Redmi人儿  
在Shell脚本中,取变量值使用 ${},而 $() 用于命令替换,本文就来详细的介绍一下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[@]} 个重要文件"

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

到此这篇关于Shell脚本变量${}与命令$()替换区别小结的文章就介绍到这了,更多相关Shell 变量${}与命令$()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux 中的nc命令小结

    Linux 中的nc命令小结

    这篇文章主要介绍了linux中的nc命令知识,非常不错,值得收藏,需要的朋友参考下吧
    2017-02-02
  • shell实现猜数字小游戏

    shell实现猜数字小游戏

    这篇文章主要为大家详细介绍了shell实现猜数字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • Linux文件的归档和压缩命令

    Linux文件的归档和压缩命令

    文件归档命令tar,文件归档有好多好处,方便使用易于管理,接下来通过本文给大家分享linux文件的归档和压缩命令,感兴趣的朋友一起看看吧
    2017-08-08
  • 高级开发运维测试必须掌握的envsubst命令使用详解

    高级开发运维测试必须掌握的envsubst命令使用详解

    这篇文章主要为大家介绍了高级开发运维测试必须掌握的envsubst命令使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 后台实时分流文件的shell脚本

    后台实时分流文件的shell脚本

    后台实时分流文件的shell脚本,有需要的朋友可以参考下
    2013-02-02
  • shell中expect的实现示例

    shell中expect的实现示例

    Expect是一个实现自动化交互任务的工具,通过模拟用户输入完成交互程序执行,本文就来介绍一下shell中expect的实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-09-09
  • nginx 下安装配置 phpadmin报错的解决方法

    nginx 下安装配置 phpadmin报错的解决方法

    下面小编就为大家带来一篇nginx 下安装配置 phpadmin报错的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Linux shell 实现用for循环100次的方法

    Linux shell 实现用for循环100次的方法

    今天小编就为大家分享一篇Linux shell 实现用for循环100次的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Shell中使用scp命令实现文件上传代码

    Shell中使用scp命令实现文件上传代码

    这篇文章主要介绍了Shell中使用scp命令实现文件上传代码,本文讲解使用scp命令实现名登录上传文件,需要的朋友可以参考下
    2015-04-04
  • Shell脚本for循环语句简明教程

    Shell脚本for循环语句简明教程

    这篇文章主要介绍了Shell脚本for循环语句简明教程,简洁易懂,非常适合刚入门的shell新手,需要的朋友可以参考下
    2014-07-07

最新评论