বাশ স্ক্রিপ্টিং: যদি এর মধ্যে অনেকগুলি আর্গুমেন্ট


0

আমার একটি প্রদত্ত ডিরেক্টরিতে ফোল্ডারগুলির ওপরে ifএকটি forলুপের মধ্যে রয়েছে, প্রতিটি ফোল্ডারের মধ্যে কোনও নির্দিষ্ট ফাইল উপস্থিত রয়েছে কিনা তা পরীক্ষা করে এবং যদি ফোল্ডারটি তা না হয় তবে এড়িয়ে চলে। ifশর্ত আমাকে একটা অনেক বেশি তর্ক ত্রুটি দেয়:

line 2: [: too many arguments

এটি আমার বাক্য গঠন:

for folders in path; do
    if [ ! -e /sub/folder/file* ]; then
        continue
    fi
    #do-stuff-to-file
done

! -dঠিক কাজ করে এমন একটি সাব-ডিরেক্টরিতে একই রকম লুপ চেকিং ...


আপনি যদি কোনও ফাইল সন্ধান করতে চান তবে কেবল ব্যবহার করুন find
ডেভিড দাই

উত্তর:


0

ওয়াইল্ডকার্ড সমস্যা। ধরুন আপনার কাছে ফাইলএ এবং ফাইলবি রয়েছে, এটি প্রসারিত হবে:

if [ ! -e /sub/folder/fileA /sub/folder/fileB ]; then

যা সিনথেটিকভাবে অবৈধ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.