কেন 'যেকোন প্রবন্ধের জন্য; 'চারবার লুপ করবেন?


9

এটি কি বাগ বা কোনও বৈশিষ্ট্য?
এটি অব্যক্ত বর্ণমালার জন্য বলে মনে হচ্ছে ।

GNU ব্যাশ চলমান, সংস্করণ 4.1.5

for alpha01234; do echo $((++i)); done

আউটপুট:

1
2
3
4

উত্তর:


14

এটি forযৌগিক কমান্ডের একটি বৈশিষ্ট্য যা বর্ণনা করেছেন help for:

for: for NAME [in WORDS ... ] ; do COMMANDS; done

একটি তালিকাতে প্রতিটি সদস্যের জন্য আদেশগুলি কার্যকর করুন।

forলুপ আইটেম তালিকার প্রতিটি সদস্যের জন্য ক্রমানুসারে একাধিক কমান্ড সঞ্চালন করে। যদি in WORDS ...;উপস্থিত না থাকে তবে in "$@"ধরে নেওয়া হয়। প্রতিটি উপাদানের জন্য WORDS, NAMEসেই উপাদানটিতে সেট করা থাকে এবং COMMANDSকার্যকর হয়।

সুতরাং আপনার উদ্ধৃত কোডটি সম্ভবত কোনও স্ক্রিপ্টে কার্যকর করা হয়েছে যা 4 টি পরামিতি সহ কল ​​করা হয়েছিল।


ধন্যবাদ ... যে বিষয়টি আমাকে পুরোপুরি ফেলেছিল তা হ'ল এটি কমান্ড লাইনে ঘটেছিল .. আমি আসলে এটি কোনও স্ক্রিপ্টে চেষ্টা করে দেখিনি .. আমি অবশ্যই set a b c dকিছু সময় অবশ্যই ব্যবহার করেছি used আমি প্রায়শই setস্ক্রিপ্টে পরীক্ষার জন্য সেভাবে ব্যবহার করি .. টার্মিনালটি পুনরায় চালু করার পরে এটি বন্ধ হয়ে গেছে ... (এখনই বোঝা যায়) ..
— পিটার.ও

12

for x; do …for x in "$@"; do …এটির জন্য একটি শর্টকাট : এটি অবস্থানগত পরামিতিগুলির পুনরাবৃত্তি করে। যদি এটি চারবার লুপ হয় তবে এর অর্থ আপনার চারটি অবস্থানগত পরামিতি রয়েছে ( $1মাধ্যমে $4)।

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