Bash
Bash命令在游標之前複製並在之後粘貼?
我不知道該怎麼說,但我經常發現自己在輸入這樣的命令:
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