Khi sử dụng một vỏ POSIX, sauTricky mở rộng cú đúp trong vỏ
touch {quick,man,strong}ly
mở rộng để
touch quickly manly strongly
Mà sẽ chạm vào file quickly
, manly
, và strongly
, nhưng là nó có thể tự động tạo mở rộng? Ví dụ: phần sau minh họa những gì tôi muốn làm nhưng không hoạt động vì thứ tự mở rộng:
TEST=quick,man,strong #possibly output from a program
echo {$TEST}ly
Có cách nào để đạt được điều này không? Tôi không ngại ràng buộc bản thân mình với Bash nếu cần thiết. Tôi cũng muốn tránh các vòng lặp. Việc mở rộng nên được đưa ra như là các đối số hoàn chỉnh cho bất kỳ chương trình tùy ý nào (tức là chương trình không thể được gọi một lần cho mỗi tệp, nó chỉ có thể được gọi một lần cho tất cả các tệp). Tôi biết về xargs
nhưng tôi hy vọng nó có thể được thực hiện từ vỏ bằng cách nào đó.
mở rộng Brace không được định nghĩa trong vỏ POSIX: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06 – pabouk
@pabouk: Đúng vậy, bây giờ tôi biết mở rộng cú đúp không phải là POSIX, nhưng 7 năm trước (khi tôi hỏi câu hỏi này) Tôi không biết điều đó :) – dreamlax