我在特定目录中有以下 4 个文件夹:
example.10 example.42 example.7 example.9
从 shell 终端,我希望这个括号扩展
echo example.{1..9}*
仅返回一个结果(无论哪一个),而不是全部结果。
我如何通过括号扩展来获得这个?
答案1
将扩展保存为数组并打印一个数组项:
shopt -s nullglob
dirs=(example.{1..9}*)
echo "${dirs[0]}"
或使用set
(注意:如果位置参数存在,这将覆盖它们):
shopt -s nullglob
set -- example.{1..9}*
echo "$1"
或者使用for
-loop 立即中断:
shopt -s nullglob
for d in example.{1..9}*; do echo "$d"; break; done