Các mở rộng cú đúp cú pháp chấp nhận dấu phẩy, nhưng nó không chấp nhận một không gian sau dấu phẩy. Trong nhiều ngôn ngữ lập trình, không gian sau dấu phẩy là phổ biến, nhưng không phải ở đây. Ở Bash, sự hiện diện của một không gian không trích dẫn ngăn cản việc mở rộng niềng răng được thực hiện.
Xóa không gian và nó sẽ hoạt động:
cp ~/some/dir/{my-file-to-rename.bin,new-name-of-file.bin}
Mặc dù hoàn toàn không cần thiết, lưu ý rằng bạn có thể di chuyển dấu vết .binbên ngoài niềng răng:
cp ~/some/dir/{my-file-to-rename,new-name-of-file}.bin
Nếu bạn muốn kiểm tra hiệu quả của việc mở rộng niềng răng, bạn có thể sử dụng echohoặc printf '%s ', hoặc printfvới bất kỳ chuỗi định dạng nào bạn thích, để làm điều đó. (Cá nhân tôi chỉ sử dụng echocho việc này, khi tôi ở Bash, bởi vì nội dung của Bashecho không mở rộng các chuỗi thoát theo mặc định, và do đó rất phù hợp để kiểm tra lệnh nào sẽ thực sự chạy.) Ví dụ:
ek@Io:~$ echo cp ~/some/dir/{my-file-to-rename,new-name-of-file}.bin
cp /home/ek/some/dir/my-file-to-rename.bin /home/ek/some/dir/new-name-of-file.bin