Tôi đang cố gắng để có được kịch bản của tôi để ls tất cả các file dưới dạng "$ biến". *
tham số luôn luôn là một tập tin với phần mở rộng 0,001 Tôi muốn tìm tất cả các file có cùng tên nhưng phần mở rộng khác nhau, ví dụ: $ file.002, file.003, vv Eg .:
first="$1"
others=${first%.001}
ls $others"*"
vấn đề của tôi là file được đặt tên file[success].mpg.001
và những gì được làm thức ăn cho ls là file[success].mpg*
cung cấp cho tôi ls: cannot access file[success].mpg*: No such file or directory
vì ls
nhu cầu để xem:
file\[success\].mpg*
Tôi đã cố gắng tất cả mọi thứ, là điều tôi đã thông báo là ls ăn tham số $ 1 hoạt động, nhưng không phải nếu ăn $ file sau khi tôi đã thực hiện file = $ 1. Vì vậy, tôi đoán làm thế nào để thay đổi biến thành một tham số?
thankyou rất nhiều! – geekmagii
Tôi rất vui vì tôi có thể giúp bạn. – bmk
Điều này làm việc cho các tệp có dấu ngoặc trong tên nhưng không hoạt động cho các ký tự lẻ khác như dấu cách. Ví dụ, tôi đã thử './findfiles1 'test [success] .mpg.001" ', và nó phân tích cú pháp đó là hai tên tập tin và không tìm thấy:' ls: \ [success \]. Mpg *: Không có tập tin như vậy hoặc thư mục' 'ls: test \: Không có tệp hoặc thư mục nào'. –