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