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

Bash 中的 ${} 和 $() 有什么区别 ?

Bash (Bourne-Again SHell)

Bash (Bourne-Again SHell) 是一种流行的 Unix SHell,用于编写脚本。如果您使用 Bash 脚本,那么了解不同的语法元素对于提高脚本的效率和避免错误是很重要的。

在本文中,我们将解释 Bash 中 ${}$() 语法之间的区别,并向您展示如何使用它们。

${} 语法:参数扩展

Bash 中的 ${} 语法用于参数扩展。这意味着它可以帮助您获取和更改变量的值。您可以使用参数展开做很多事情,比如提取字符串的一部分、更改大小写等等。

(1) 简单的变量扩展

name="Rahul Kumar"
echo ${name}

(2) 子字符串提取 (获取字符串的一部分)

name="Tecadmin.net"
echo ${name:0:4}

(3) 默认值赋值 (如果变量为空则使用默认值)

default_name="Tecadmin"
name=""
echo ${name:-$default_name}

$() 语法: 命令替换

Bash 中的 $() 语法用于命令替换。这意味着您可以运行命令并在脚本中使用其输出。当您希望将命令的结果用作另一个命令的参数或将其存储在变量中时,这非常有用。

(1) 基本命令替换

date=$(date)
echo "Today's date is $date"

(2) 在循环中使用命令替换

for file in $(ls)
do
  echo "Processing file: $file"
done

我的开源项目

酷瓜云课堂-开源知识付费解决方案

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)

http://www.kler.cn/news/368668.html

相关文章:

  • uniapp实现与webview之间的相互通讯
  • ML 系列:机器学习和深度学习的深层次总结(17)从样本空间到概率规则概率
  • 岭回归的MATLAB步骤
  • vue3+vite 部署npm 包
  • shodan2---清风
  • SwiftUI(三)- 渐变、实心形状和视图背景
  • 使用田口实验获取优化算法的参数最优组合
  • 【系统面试篇】进程和线程的区别
  • GEE app:全球地表水使用 ui.root.onResize() 演示移动友好型用户界面
  • 2025选题推荐|基于SpringBoot+Vue实现大学生双创竟赛项目申报与路演管理系统
  • Unity DOTS
  • 利用ADPF性能提示优化Android应用体验
  • Flink Python作业快速入门
  • 百度搜索推广和信息流推广的区别,分别适用于什么场景!
  • Html提高——HTML5 新增的 input 类型
  • 天工 2.0.0 |支持AI画画、AI作曲、文章撰写
  • 面试总结一
  • SRIO接口,FPGA实现,学习笔记。
  • 系统思考—啤酒游戏经营决策沙盘
  • 基于SSM+VUE电影网站视频网站JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解
  • RN 中的createNativeStackNavigator,为什么出现顶部的 header
  • 海亮科技亮相第84届中国教装展 尽显生于校园 长于校园教育基因
  • Jackson Json序列化反序列化的两个坑
  • 《MYSQL 实战45讲》深入浅出ORDER BY底层
  • 信息技术服务认证介绍
  • 【CTF-SHOW】Web入门 Web78 初学文件包含 WP【data 伪协议、filter 伪协议 和 日志包含攻击】