Існує ряд хитрощів (я думаю, що дублікат можна знайти), але для цього я схильний робити
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
bash-fu:)