我不确定该如何措辞,但是我经常发现自己在键入以下命令:
cp /etc/prog/dir1/myconfig.yml /etc/prog/dir1/myconfig.yml.bak
我通常只需键入两次路径(使用制表符补全),否则我将复制并粘贴带有光标的路径。是否有一些bashfoo使其更易于键入?
有很多技巧(我认为有重复的技巧),但是为此,我倾向于这样做
cp /etc/prog/dir1/myconfig.yml{,.bak}
它将扩展到您的命令。
这就是所谓的括号扩展。在此处使用的形式中,{}
表达式指定了多个用逗号分隔的字符串。这些“扩展”整个/etc/prog/dir1/myconfig.yml{,.bak}
表达式,{}
依次用每个字符串替换该部分:空字符串,给定/etc/prog/dir1/myconfig.yml
,然后.bak
给定/etc/prog/dir1/myconfig.yml.bak
。结果是
cp /etc/prog/dir1/myconfig.yml /etc/prog/dir1/myconfig.yml.bak
这些表达式可以嵌套:
echo a{b,c,d{e,f,g}}
产生
ab ac ade adf adg
有一个使用数字来产生序列的变体:
echo {1..10}
产生
1 2 3 4 5 6 7 8 9 10
您还可以指定步骤:
echo {0..10..5}
产生
0 5 10
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句