সেট-ই কি করে?


28

আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা আমি পেয়েছি এবং আমি এটি চালানোর চেষ্টা করছি, এটি কেবল অ্যাপাচি রানটাইম লাইব্রেরি ডাউনলোড করে ইনস্টল করে। প্রথম লাইনটি set -eএটি একটি ত্রুটি ঘটায়; কি করে set -e?

উত্তর:


22

এই অন্তর্নির্মিতটি এত জটিল যে এটি তার নিজস্ব বিভাগের দাবি রাখে।

সেট আপনাকে শেল বিকল্পগুলির মান পরিবর্তন করতে এবং অবস্থানগত পরামিতিগুলি সেট করতে বা শেল ভেরিয়েবলের নাম ও মান প্রদর্শন করতে দেয়।

-eপছন্দ

-e

একটি পাইপলাইন (পাইপলাইন দেখুন), যা কোনও একক সরল কমান্ড (সরল কমান্ডগুলি দেখুন) সমন্বিত থাকতে পারে, বন্ধনীতে আবদ্ধ একটি সাবশেল কমান্ড (কমান্ড গ্রুপিং দেখুন) বা কমান্ড তালিকার অংশ হিসাবে কার্যকর কমান্ডগুলির মধ্যে একটি দ্বারা অবিলম্বে প্রস্থান করুন it ধনুর্বন্ধনী (কমান্ড গোষ্ঠীকরণ দেখুন) একটি শূন্য-স্থিতি প্রদান করে। শেলটি প্রস্থান করে না যদি কমান্ডের ব্যর্থতা কমান্ড তালিকার সাথে সাথে কিছুক্ষণ পরে বা কীওয়ার্ড অবধি ব্যর্থ হয়, যদি একটি বিবৃতিতে পরীক্ষার অংশ হয়, কোনও && বা সম্পাদিত কোনও কমান্ডের অংশ || চূড়ান্ত && বা || অনুসরণকারী কমান্ড ব্যতীত, পাইপলাইনে থাকা কোনও কমান্ড শেষ না হলেও, বা যদি কমান্ডের ফেরতের স্থিতি উল্টানো হচ্ছে! ERR- তে একটি ফাঁদ সেট করা থাকলে, শেলটি বেরোনোর ​​আগেই কার্যকর করা হয়।

এই বিকল্পটি শেল এনভায়রনমেন্ট এবং প্রতিটি সাব-শেল এনভায়রনমেন্টের জন্য আলাদাভাবে প্রযোজ্য (কমান্ড এক্সিকিউশন এনভায়রনমেন্ট দেখুন), এবং সাবশেলের সমস্ত কমান্ড কার্যকর করার আগে সাবশেলগুলি প্রস্থান করতে পারে।

সূত্র: www.gnu.org

নীচে @ সাইসির মন্তব্যের কারণে সম্পাদিত।

অতিরিক্তভাবে আপনি বাশের ম্যানুয়াল পৃষ্ঠাটি পড়তে পারেন

man bash 

বিভাগে: বিল্টিন কম্যান্ডগুলি বিক্রয় করুন

বা ইস্যু

help set 

একটি সংক্ষিপ্ত সহায়তা বার্তার জন্য।


1
যেহেতু এটি একটি বিল্টিন কমান্ড, আপনি চান help setএবং info bashব্যাশ-ডক ইনস্টল করা থাকলে সম্পূর্ণ ব্যাশ ম্যানুয়াল ।
psusi

@ স্পুসির স্পষ্টকরণের জন্য ধন্যবাদ। help setএবং / অথবা man bashএর জন্য সঠিক set
নিকটাক্স

12

set -e সংক্ষেপে, এটি যখন আপনার ব্যাশ স্ক্রিপ্টের শীর্ষে থাকে তখন স্ক্রিপ্টটিকে স্ক্রিপ্টের কোনও লাইন ব্যর্থ হওয়ার সাথে সাথেই প্রস্থান করতে বলে দেয় (ম্যানুয়ালটিতে কিছু ব্যতিক্রম লিপিবদ্ধ আছে)] [1]

ডিবাগিং বিকল্প হিসাবে এটি প্রায়শই ব্যবহৃত হয় set -x, যা প্রতিটি প্রসারিত কমান্ড লাইন একটি "+" চিহ্ন সহ কার্যকর করার আগে মুদ্রণ করতে হয়। [2]

আরো দেখুন:

[1] https://www.peterbe.com/plog/set-ex

[২] http://tldp.org/LDP/Bash-Beginners- গুইড / html/sect_02_03.html


2
সহজ ব্যাখ্যা জন্য ধন্যবাদ। আমি প্রায়শই ডকফিলিলে সেট-এক্স দেখি এবং এখন এর কারণটি আমি জানি :)
ymakux
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.