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

我的开源项目

相关推荐
Beekeeper&&P...7 小时前
git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
开发语言·git·bash
独行soc3 天前
#渗透测试#SRC漏洞挖掘#网络运维# 黑客脚本编写04之脚本与用户交互
运维·安全·面试·bash·交互
꧁薄暮꧂4 天前
Linux解决 -bash: nc: command not found&-bash: nc: 未找到命令
linux·运维·bash
曹天骄5 天前
mac怎么看当前终端是zsh还是bash
开发语言·macos·bash
No8g攻城狮5 天前
【异常解决】Linux shell报错:-bash: [: ==: 期待一元表达式 解决方法
linux·运维·bash
茶颜悦色vv6 天前
shell脚本(2)
linux·web安全·网络安全·bash
?crying7 天前
深入理解 source 和 sh、bash 的区别
linux·开发语言·bash
爱编程的小金毛球球9 天前
-bash: /home/xxx/anaconda3/bin/conda: No such file or directory
linux·conda·bash
冷心笑看丽美人10 天前
RHEL 网络配置(Linux网络服务器 09)
linux·运维·服务器·网络·bash
日晨难再10 天前
C语言&Python&Bash:空白(空格、水平制表符、换行符)与转义字符
linux·c语言·开发语言·python·bash