আমি মাল্টি কন্ডিশন চেক করার চেষ্টা করছি অর্থাত্, ইনপুটটি খালি হওয়া উচিত নয় এবং এতে শেল স্ক্রিপ্টের লুপ থাকা অবস্থায় কেবল সংখ্যা থাকতে হবে তবে এই ক্রিয়াকলাপটি চালানোর সময় আমি একাধিক ত্রুটির মুখোমুখি হয়েছি। আমি একাধিক বিকল্প চেষ্টা করেছি এবং আমি ইউনিক্স স্ট্যাকেক্সচেঞ্জ এবং স্ট্যাক ওভারফ্লোতে পোস্ট করা এই বিষয়ে একাধিক প্রশ্ন দেখতে পাচ্ছি তবে তাদের কেউই সহায়তা করছে না কেন আমি এখানে এই প্রশ্নটি পোস্ট করছি বিকল্প 1:
while [ \( -z "$account_number" \) && \( "$account_number" =~ "^[0-9]+$" \) ];
do printf 'Input account Number RWDEx: '
read -r account_number
[ -z "$account_number" ] && echo 'Account Number cannot be empty; try again.'
done
এটি ত্রুটি নিক্ষেপ করছে [: অনুপস্থিত `] 'শর্ত এবং বন্ধনীগুলির মধ্যে স্থান সমস্যার কারণে অনেকে এই ত্রুটিটি প্রস্তাব করেছিলেন তবে এটি কার্যকর হয়নি it
বিকল্প 2:
while [[ -z "$account_number" && "$account_number" =~ "^[0-9]+$" ]]
do printf 'Input account Number RWDEx: '
read -r account_number
[ -z "$account_number" ] && echo 'Account Number cannot be empty; try again.'
done
আমি উপরে হিসাবে শর্ত দিচ্ছি এমনকি ইনপুট জিজ্ঞাসা না
দয়া করে এই সমস্যাটি সমাধানে সহায়তা করুন এবং আমি #! / বিন / ব্যাশ ব্যবহার করছি আমি এমনকি স্ক্রিপ্টটিকে # বিন্দু / বিন / ব্যাশে পরিবর্তনের চেষ্টা করেছি!
$account_number
উভয় খালি (হতে পারে-z
) এবং (&&
) ম্যাচ^[0-9]+$
। আপনার যুক্তি ত্রুটিযুক্ত। মনে রাখবেন যে কেবলমাত্র একজন অপারেটর[
অন্তর্নির্মিতyash
এবংzsh
সমর্থন করেন=~
।