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

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

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

${} 语法:参数扩展

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

(1) 简单的变量扩展

bash 复制代码
name="Rahul Kumar"
echo ${name}

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

bash 复制代码
name="Tecadmin.net"
echo ${name:0:4}

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

bash 复制代码
default_name="Tecadmin"
name=""
echo ${name:-$default_name}

$() 语法: 命令替换

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

(1) 基本命令替换

bash 复制代码
date=$(date)
echo "Today's date is $date"

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

bash 复制代码
for file in $(ls)
do
  echo "Processing file: $file"
done

我的开源项目

相关推荐
提娜米苏9 小时前
非Root环境下的数据挂载解决方案:SSHFS与Mount详解
bash·sshfs
这儿有一堆花17 小时前
任何东西都可以转成 Base64!?
bash
wasp52018 小时前
Banana Slides 深度解析:AI Core 架构设计与 Prompt 工程实践
人工智能·prompt·bash
市场部需要一个软件开发岗位21 小时前
一个无人机平台+算法监督平台的离线部署指南
java·python·算法·bash·无人机·持续部署
dingdingfish1 天前
Bash学习笔记总目录
bash·script·programming
代码AI弗森2 天前
Git Bash 与 PowerShell:定位差异、使用场景与选择建议
开发语言·git·bash
ajole2 天前
Linux学习笔记——基本指令
linux·服务器·笔记·学习·centos·bash
遨游xyz2 天前
策略模式笔记
开发语言·word·bash
hhy_smile2 天前
Ubuntu24.04 环境配置自动脚本
linux·ubuntu·自动化·bash
拓云者也3 天前
常用的生物信息学数据库以及处理工具
数据库·python·oracle·r语言·bash