shell脚本中的花括号扩展

shell脚本中的花括号扩展
  1. 在shell脚本中可以在花括号中使用一组以逗号分隔的字符串或者字符串序列来进行字符串扩展,最终输出的结果为以空格分隔的字符串(整数也可)

    [root@mao_aliyunserver bin]# echo {1..10}
    1 2 3 4 5 6 7 8 9 10
    [root@mao_aliyunserver bin]# echo {a..z}
    a b c d e f g h i j k l m n o p q r s t u v w x y z
    
  2. 使用花括号扩展时花括号不可以被单引号或者双引号引用

    [root@mao_aliyunserver bin]# echo "{1..10}"
    {1..10}
    [root@mao_aliyunserver bin]# echo '{1..10}'
    {1..10}
    
  3. 如果使用字符串序列后面跟一个步长(整数),默认值为1或-1

    [root@mao_aliyunserver bin]# echo {1..10..2}
    1 3 5 7 9
    [root@mao_aliyunserver bin]# echo {a..z..2}
    a c e g i k m o q s u w y
    
  4. 使用花括号扩展时在花括号前面和后面都可以添加可选字符串,且花括号扩展支持嵌套

    [root@mao_aliyunserver bin]# echo a{a..d}c
    aac abc acc adc
    [root@mao_aliyunserver bin]# echo 开{炮,礼{品,花,盒}}了
    开炮了 开礼品了 开礼花了 开礼盒了
    
  5. 花括号扩展的简单应用

    #批量生成文件
    [root@mao_aliyunserver test]# ll
    total 0
    [root@mao_aliyunserver test]# touch ./{a..e}.txt
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:44 a.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:44 b.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:44 c.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:44 d.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:44 e.txt
    
    #备份文件
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:45 test.txt
    [root@mao_aliyunserver test]# cp test.txt{,.bak}
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:45 test.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:46 test.txt.bak
    
    #类似备份文件的需要几个相似参数的命令都可以用花括号扩展,例如重命名
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:46 test.txt.bak
    [root@mao_aliyunserver test]# mv test.txt{.bak,}
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:46 test.txt
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值