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


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.