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

我的开源项目

相关推荐
背太阳的牧羊人2 天前
sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境
docker·容器·bash
无聊的小坏坏3 天前
环境变量深度解析:从配置到内核的全链路指南
linux·bash
Chuncheng's blog3 天前
如何基于Mihomo Party http端口配置git与bash命令行代理
git·http·bash
开挖掘机上班5 天前
Bash shell四则运算
linux·开发语言·bash·shell
无聊的小坏坏6 天前
Linux 权限管理入门:从基础到实践
linux·ubuntu·bash
无影无踪的青蛙6 天前
[Windows]在Win上安装bash和zsh - 一个脚本搞定
bash
诚丞成7 天前
苍茫命令行:linux模拟实现,书写微型bash
linux·chrome·bash
困惑阿三10 天前
解决 iTerm2 中 nvm 不生效的问题(Mac 环境)
开发语言·前端·macos·bash
Cacciatore->11 天前
Zsh/Bash Conda设置延迟启动,启动速度优化
conda·bash·zsh
万里不留行11 天前
定时清理流媒体服务器录像自动化bash脚本
服务器·自动化·bash·音视频