{}并没有实际含义,但是可以作为Brace expansion(大括号扩展)产生各种组合。本文以*nux/*BSD系统Shell命令cp、mv配合花括号{}的用法实例讲解其使用。
花括号模式是以一个可选的前导字符,后面跟着一系列以逗号分隔的字符串或者是以点号分隔的字符串。前导字符被添加到字符串前面,后面的字符串被附加到每个结果之后。
在*nux系统中,还可以用点号生成序列。
例:(*nux系统)echo {1..10}输出1 2 3 4 5 6 7 8 9 10
例:echo foo{1,2,3}.txt输出foo1.txt foo2.txt foo3.txt
例:(*nux系统)echo foo-{a..d}.txt输出foo-a.txt foo-b.txt foo-c.txt foo-d.txt
例:cp /etc/http/httpd.conf{,.bak}等效于cp /etc/http/httpd.conf /etc/http/httpd.conf.bak
可以看出,cp、mv命令配合{}花括号使用,不但简化命令长度,而且不易出错。常用于备份、重命名文件、创建目录等。
将httpd.conf复制备份为httpd.conf.bak:cp /etc/http/httpd.conf{,.bak}
将httpd.conf重命名为httpd.conf.bak:mv /etc/http/httpd.conf{,.bak}
将httpd.conf.bak重命名为httpd.conf:mv /etc/http/httpd.conf{.bak,}
将config.sample.inc.php复制为config.inc.php:cp config{.sample,}.inc.php
Leave a Reply