2010-09-25 5 views

Trả lời

4

Các hình thức biểu hiện phạm vi mở rộng cú đúp được sử dụng ở vị trí của seq trong một vòng lặp for:

for i in {1..100} 
do 
    something # 100 times 
done 
2

Ví dụ, tạo bản sao lưu của tất cả các tập tin của bạn trong một thư mục:

for i in * ; do 
    cp "$i"{,.bak} 
done 
+0

Điều đó không thể hoạt động. –

+0

Xin lỗi, đã chuyển {, .bak} ra khỏi phần được trích dẫn. là một lỗi đánh máy. – Benoit

+0

Ok, điều đó có ý nghĩa hơn. Trong thực tế, tôi đã không nhận ra cho đến bây giờ rằng các thành phần đường dẫn không cần phải tồn tại. –

0

Bạn sử dụng nó bất cứ khi nào bạn muốn để phù hợp với nhiều sự lựa chọn. Ví dụ:

ls src/{Debug,Release}/*.o # List all .o files in the Debug and Release directories. 
2

Trong bash, bạn sử dụng mở rộng cú đúp nếu bạn muốn tạo một phạm vi, ví dụ

for r in {0..100}

for r in {0..10..2} #with bước 2

for z in {a..z}

Thay vì sử dụng các lệnh bên ngoài như seq 0 100. Ngoài ra, mở rộng cú đúp có thể được sử dụng để liệt kê các loại tệp, ví dụ:

for file in *.{txt,jpg}.

Danh sách này tất cả các tệp có phần mở rộng txt và jpg.