如何使用大括号扩展来制作 cal 8 2014; cal 9 2014 ? cal {8,9} 2014 扩展至 cal 8 9 2014 (显示9月9日。) cal {08 2014,09 2014} 是不是有效的大括号扩展,我无法使用 cal {" 08 2014"," 09 2014"} 因为它扩展到 cal" 08 2014" " 09 2014" 这两个参数在这里显然没有意义:/我开始质疑大括号扩展的实用性....
答案 0 :(得分:4)
大括号扩展很棒,for循环也很棒,但是将printf | sh添加到你的保留曲目中 你将处于良好的状态:
printf "cal %s 2014\n" {8,9}|sh
一个明显的好处是你可以在没有| sh的情况下运行它,看它是否正确。
您还可以转义空格,以便括号扩展包括cal和2014:
$ echo cal\ {8,9}\ 2014\;
cal 8 2014; cal 9 2014;
然后穿过sh:
$ echo cal\ {8,9}\ 2014\;|sh
August 2014
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
September 2014
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30