ইউনিক্স স্ক্রিপ্ট: তারিখের ব্যবহার এবং এর জন্য ব্যবহার


0

মিনিটনিউ = date +%M;

for ((i=2;i<=57;i+=5))
do
        if [ "$MinuteNow" == "$i" ]; then
                *************
        fi
done

সমস্যাটি ২ এবং for এর জন্য, তারিখের কমান্ডের আউটপুট 02 এবং 07 হয় তবে পরিবর্তনশীল $ i হ'ল 2 এবং 7 ... আমি কেবল এই 2 টি পরিবর্তনের জন্য একটি শর্ত যুক্ত করার চেষ্টা করেছি, তবে এটি লুপটি বুগ করছে ...

আপনি আমাকে একটি টিপ দিতে পারেন দয়া করে?


1
ইউনিক্স একটি অপারেটিং সিস্টেম। তিনি বলেন, "কিভাবে আমি একটি ইউনিক্স স্ক্রিপ্ট না ক্রস" মত হল "আমি কীভাবে উইন্ডোজ প্রোগ্রামিং ভাষা কি করবেন ক্রস" বলার ছাড়া যা আপনি ব্যবহার শত ভাষার।
মাধ্যাকর্ষণ

উত্তর:


2

সংখ্যার তুলনা করতে "-eq" ব্যবহার করুন, তাহলে আপনার এই সমস্যাটি হবে না:

if [ "$MinuteNow" -eq "$i" ]; then

এটা করা উচিত।

(অন্যান্য অনেকগুলি সম্ভাবনা রয়েছে, simple {মিনিটনিউ # 0} আর একটি সাধারণ সরল, তবে আমি == এর পরিবর্তে সঠিক অপারেটর -eq ব্যবহার করা ভাল)


1

বাশ-এ, আপনাকে স্ট্রিংটি 10 ​​টি বেসে জোর করতে হবে:

if (( 10#$MinuteNow == i ))    # you can omit the dollar sign on bare variables in this context

বোর্ন শেল (sh) এ:

if [ $MinuteNow -eq $i ]

Zsh বা ksh93 এ:

if (( MinuteNow == i ))    # you can omit the dollar sign on bare variables in this context


0

ইন bash, ব্যবহার:

(($ মিনিটনিউ == $ i))

যেমন:

যদি (($ মিনিটনিউ == $ i)); তারপর

তাহলে shসামঞ্জস্য প্রয়োজন, ব্যবহার করুন:

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