小赖子的英国生活和资讯

LINUX BASH下的 大括号数组

阅读 桌面完整版

LINUX 下的 BASH shell 支持大括号 {} 来模拟数组 比如:

1
touch abc{1,2,3,4}
touch abc{1,2,3,4}

这其实相当于下面四条命令 将会创建四个文件

1
2
3
4
touch abc1
touch abc2
touch abc3
touch abc4
touch abc1
touch abc2
touch abc3
touch abc4

大括量 是不能有多余的空格 的比如

1
2
~$ echo abc{1, 2, 3, 4}
abc{1, 2, 3, 4}
~$ echo abc{1, 2, 3, 4}
abc{1, 2, 3, 4}

但是你可以用双引号来表示 空格不是多余的

1
2
~$ echo abc{" 1"," 2"," 3"," 4"}
abc 1 abc 2 abc 3 abc 4
~$ echo abc{" 1"," 2"," 3"," 4"}
abc 1 abc 2 abc 3 abc 4

这种方式能使命令变得简单 比如想在一个目录下创建几个子目录就可以这样写:

1
mkdir /some/dir/{a,b,c,d}
mkdir /some/dir/{a,b,c,d}

这相当于四条命令:

1
2
3
4
mkdir /some/dir/a
mkdir /some/dir/b
mkdir /some/dir/c
mkdir /some/dir/d
mkdir /some/dir/a
mkdir /some/dir/b
mkdir /some/dir/c
mkdir /some/dir/d

英文: https://helloacm.com/curly-brace-group-in-linux-bash/

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version