在Linux中,大括号 {}
是一个功能强大的Shell元字符,主要用于以下场景:
bash
echo {1..5} # 输出: 1 2 3 4 5
echo {a..c} # 输出: a b c
echo file{1..3}.txt # 输出: file1.txt file2.txt file3.txt
echo {A,B,C}.log # 输出: A.log B.log C.log
bash
{ command1; command2; } > output.txt
- 用途:将多个命令组合在一起,在当前Shell环境执行(与子Shell ()
不同),共享变量和状态。
- 注意:大括号内的命令必须用分号 ;
结尾,且大括号两侧必须有空格。
bash
echo ${var}_suffix # 明确变量名为`var`而非`var_suffix`
- 用途:在变量名后紧跟其他字符时,用 ${}
明确变量边界。
bash
echo ${var:-default} # 若`var`未定义,使用`default`
echo ${var%.txt} # 删除`.txt`后缀
- 用途:实现变量默认值、字符串截取等高级操作。
bash
grep -E 'a{2,4}' file # 匹配2到4个连续的`a`
- 用途:在正则中表示重复次数(需配合 -E
或 egrep
)。
{}
):由Shell解析,生成字符串组合。{}
):组织命令块,影响执行环境。${}
):明确变量引用范围。# 批量创建目录
mkdir -p /tmp/project/{src,doc,test}/{2020..2023}
# 合并多个命令输出
{ date; who; uptime; } > system_info.txt
掌握大括号的用法能显著提升命令行效率!