Tôi nghĩ có một số mánh khóe (có một bản sao được tìm thấy trùng lặp), nhưng đối với điều này tôi có xu hướng làm
cp /etc/prog/dir1/myconfig.yml{,.bak}
được mở rộng để chỉ huy của bạn.
Điều này được gọi là mở rộng cú đúp . Trong biểu mẫu được sử dụng ở đây, {}
biểu thức chỉ định một số chuỗi được phân tách bằng dấu phẩy. Chúng lần lượt "mở rộng" toàn bộ /etc/prog/dir1/myconfig.yml{,.bak}
biểu thức, thay thế từng {}
phần bằng từng chuỗi: chuỗi rỗng, cho /etc/prog/dir1/myconfig.yml
, và sau đó .bak
, cho /etc/prog/dir1/myconfig.yml.bak
. Kết quả là
cp /etc/prog/dir1/myconfig.yml /etc/prog/dir1/myconfig.yml.bak
Các biểu thức này có thể được lồng nhau:
echo a{b,c,d{e,f,g}}
sản xuất
ab ac ade adf adg
Có một biến thể sử dụng số để tạo ra các chuỗi:
echo {1..10}
sản xuất
1 2 3 4 5 6 7 8 9 10
và bạn cũng có thể chỉ định bước:
echo {0..10..5}
sản xuất
0 5 10
bash-fu
:)