'-V' এবং '-x' আর্গুমেন্টকে ব্যাশ করার অর্থ কী?


17

আমি নিম্নলিখিত শিবাং সহ কয়েকটি শেল স্ক্রিপ্ট দেখেছি:

#!/bin/bash -x -v 

যাইহোক, man bashএই আর্গুমেন্টগুলি কীসের পক্ষে -xএবং এর -vপক্ষে দাঁড়ায় তা ব্যাখ্যা করে না , যদি তারা bashআদৌ সম্পর্কিত হয়।

সুতরাং সেগুলি -xএবং -v(এবং অন্যান্য সম্ভাব্য যুক্তি) এর অর্থ কী?

উত্তর:


26

থেকে man bash(হ্যাঁ, এটি একটি বড় ম্যান পৃষ্ঠা, সাধারণত গুগল অনুসন্ধান দ্রুত হয়):

-x কমান্ড, কেস কমান্ড, কমান্ডের জন্য সিলেক্ট কমান্ড বা পাটিগণিতের জন্য প্রতিটি সাধারণ কমান্ড প্রসারিত করার পরে, পিএস 4 এর বর্ধিত মান প্রদর্শন করুন, এরপরে কমান্ড এবং এর প্রসারিত আর্গুমেন্ট বা সম্পর্কিত শব্দ তালিকার তালিকা প্রদর্শন করুন।

কার্যকরভাবে: আপনি যখন স্ক্রিপ্টটি চালাবেন, এটি সেই স্ক্রিপ্টের সমস্ত ক্রিয়া প্রদর্শন করবে। সুতরাং সমস্ত ifs, লুপস এবং কমান্ডগুলি চালিত হয়। ডিবাগিং জন্য খুব দরকারী।

-v শেল ইনপুট লাইনগুলি পড়ার সাথে সাথে মুদ্রণ করুন। যখন কোনও স্ক্রিপ্টটি চালানো হয়, এটি ফাইলটি পড়ার সাথে সাথে এটি পুরো স্ক্রিপ্টটি মুদ্রণ করবে। যখন আপনি শেলটি ইন্টারেক্টিভভাবে ব্যবহার করেন, এটি এন্টার টিপানোর পরে এটি প্রতিটি কমান্ড প্রদর্শন করবে।

উপরের উদ্ধৃতিগুলি setহ'ল বিল্টিন কমান্ডের ব্যাখ্যা থেকে রয়েছে man bash, যা বিকল্পগুলির জন্যও ব্যাখ্যা করেset আর্গুমেন্ট হিসাবে (শেবাং লাইনে) পাস করা যেতে পারে:

অন্যথায় উল্লেখ না করা থাকলে ডিফল্টরূপে বিকল্পগুলি বন্ধ রয়েছে। ব্যবহার + বদলে -কারণ এই বিকল্পগুলি বন্ধ চালু রাখতে হবে। অপশনগুলি শেলের একটি অনুরোধের আর্গুমেন্ট হিসাবেও নির্দিষ্ট করা যেতে পারে। বিকল্পের বর্তমান সেটটি খুঁজে পেতে পারে $-। কোনও অবৈধ বিকল্পের মুখোমুখি না হলে রিটার্নের স্থিতি সর্বদা সত্য।


ঠিক আছে, সুতরাং এটি মারার পক্ষে একটি সহজ যুক্তি, এবং এই যুক্তি ছাড়াই আমার কেবল একটি আলাদা সংস্করণ থাকতে পারে?
অ্যালেক্স

যদি আপনি বাশ সম্পর্কে কথা বলছেন: আমি মনে করি বিগত দশকের সমস্ত বাশ রিলিজ এই যুক্তিগুলিকে সমর্থন করবে। আপনি যদি ম্যান পৃষ্ঠা সম্পর্কে কথা বলছেন: এটি বিশাল এবং আপনি কী সন্ধান করছেন তা আপনার জানা দরকার, তবে এটি সেখানে রয়েছে (কমপক্ষে উবুন্টু ১৩.০৪) তে। সাধারণত একটি গুগল অনুসন্ধান দ্রুত হয়।
এমটাক

6
+1 "গুগল অনুসন্ধান দ্রুত" -> /-xকয়েকবার আপনাকে সেখানে প্রবেশ করবে man(আসলে, এটি less) it's আপনি /+ আপ তীর দিয়ে শেষ অনুসন্ধানটি পুনরাবৃত্তি করতে পারেন , তবে আপনার বর্তমান অনুসন্ধানটি পর্দায় আঘাত পেতে (পৃষ্ঠার সন্ধান /এগিয়ে রয়েছে, ?পিছিয়ে রয়েছে) পেতে আপনাকে পৃষ্ঠায় যেতে হবে ।
স্বর্ণলোকগুলি

2
@ টাফকা'গোল্ডিলকস 'আমার ধারণা এটি আপনার ডিসট্রোর উপর নির্ভর করে। উবুন্টু 13.04 বাশ ম্যানুয়াল পৃষ্ঠাতে 43 তম হিটটি সঠিক। সামনের দিকে হিট সন্ধান করা nসামনের Nদিকে অনুসন্ধানের জন্য এবং পিছনে অনুসন্ধানের জন্য কম ব্যবহার করে ।
এমটাক

ওহো, আসলে আমি খুঁজছেন ছিল test -xকন্ডিশনাল এক্সপ্রেশনের (তৃতীয় হিট) অধীনে না set -x-xইন man bashএকটি খুব খারাপ ক্ষেত্রে তাই আরও সুনির্দিষ্ট সহায়তা পাওয়া: আপনি যদি ব্যবহার করেন /^\s+-x\b, (= লাইন + হোয়াইটস্পেস + -x+ শব্দ সীমানা) আপনি 5 টি হিটের মধ্যে ডানদিকে পৌঁছে যাবেন ... এটি 4 হবে তবে বাস্তব xম্যাচের জন্য X... যা আমাকে এমন প্রশ্নের দিকে নিয়ে যায় যা আমি জিজ্ঞাসা করার অর্থ দিয়েছি । যাইহোক, ডাব্লু / সর্বাধিক ম্যান পেজগুলি ^\s+-x\bপ্রথমে সুইচগুলির জন্য চেষ্টা করা উচিত।
স্বর্ণলোকস

2

বাশ ম্যান পৃষ্ঠাটি করে ইঙ্গিতটি যে এই বিকল্পগুলি আরও নিচে আসলে ব্যাখ্যা করা আছে, কিন্তু এটিকে সহজে উপেক্ষিত হচ্ছে।

সুতরাং আপনার সমস্যাটি আসলে পড়তে হবে: ব্যাশ ম্যান পৃষ্ঠার বিকল্প বিভাগটি অসম্পূর্ণ। উত্তরটি হ'ল হয় সেগুলি অনুলিপি করুন, বা বিকল্প বিভাগের প্রথম বিভাগটি হাইলাইট করুন:

OPTIONS
   All  of  the  single-character shell options documented in the descrip‐
   tion of the set builtin command can be used as options when  the  shell
   is invoked.  [ ... ]

শেষ অবধি, এটি সম্পূর্ণ করার জন্য: স্ক্রিপ্টের কোডটি পড়ার সময় ( -v) এবং যখন চালানো হয় ( -x) যখন কোডটি দেখানোর জন্য এগুলি কোনও পসিক্স শেলের স্ট্যান্ডার্ড বিকল্প । স্টপারের উপর আউটপুট উপস্থিত হবে।

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