আমি কীভাবে সমস্ত শেল ভেরিয়েবল তালিকাবদ্ধ করতে পারি?


18

এই প্রশ্নটি সম্পর্কে পড়া: zsh এ আমি কীভাবে সমস্ত পরিবেশের ভেরিয়েবল তালিকাভুক্ত করতে পারি? , আমি ভাবলাম, আমি কীভাবে সমস্ত শেল ভেরিয়েবল তালিকাভুক্ত করতে পারি ?

এছাড়াও, শেল ভেরিয়েবল এবং এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে পার্থক্য কি zsh ছাড়া অন্য শেলগুলির জন্য প্রযোজ্য?

আমি প্রাথমিকভাবে বাশ এবং জেডে আগ্রহী, তবে অন্যান্য মূলধারার শেলগুলিতে এটি কীভাবে করা যায় তা জেনে ভাল লাগবে।

উত্তর:


21

সমস্ত শেল ভেরিয়েবল তালিকাবদ্ধ করুন

bash: ব্যবহার set -o posix ; set। ফাংশন সংজ্ঞা যেমন বেশি তথ্য আউটপুট এড়ানোর জন্য পসিক্স বিকল্প রয়েছে। declare -pকাজ করে।

zsh : ব্যবহার typeset

শেল ভেরিয়েবল এবং এনভায়রনমেন্ট ভেরিয়েবল

একটি পরিবেশের পরিবর্তনশীল- exec()শিশু সন্তানের প্রক্রিয়াগুলিতে উপলব্ধ (অনুলিপি হিসাবে parent একটি পরিবেশ-বিহীন চলক কেবল চলমান চলমান শেল এবং fork()-ed সাবশেলের জন্য উপলভ্য । সমস্ত শেলগুলিতে এই পার্থক্য উপস্থিত রয়েছে।

(মন্তব্যে ধন্যবাদ সম্পূর্ণ)


declare -pএকই কাজ করুন
কস্টাস

প্রশ্নেরও এখানে একটি উত্তর রয়েছে: স্ট্যাকওভারফ্লো.com
ইউরিয়েল

1
set -o posixzsh এ অস্তিত্ব নেই; setআউটপুট ফাংশন সংজ্ঞা দেয় না।
ভিঙ্ক 17

1
set -o posixবেশিরভাগ শেলের মধ্যে একটি সিনট্যাক্স ত্রুটি।
মাইকজার্ভ

3
শেল ভেরিয়েবলগুলি শিশু প্রক্রিয়াগুলিতেও উপলব্ধ। পার্থক্যটি আসে যখন শিশু প্রক্রিয়া একটি নতুন প্রোগ্রাম কার্যকর করে: পরিবেশের ভেরিয়েবলগুলি পাশাপাশি পাস করা হয় exec, শেল ভেরিয়েবলগুলি হয় না।
বার্মার

7

অনেকগুলি বিকল্প রয়েছে:

printenv

নির্দিষ্ট পরিবেশের মানগুলি মুদ্রণ করুন ভেরিয়েবল (গুলি)। যদি কোনও ভেরিয়েবল নির্দিষ্ট না করা থাকে তবে তাদের সবার জন্য নাম এবং মান জোড়া মুদ্রণ করুন।

env

env - একটি পরিবর্তিত পরিবেশে একটি প্রোগ্রাম চালান

রপ্তানি

পরিবেশের পরিবর্তনশীল সেট করুন। প্রতিটি নাম পরিবেশে শিশু প্রসেসে পাস করার জন্য চিহ্নিত করুন .....

-p ইনপুট হিসাবে পুনরায় ব্যবহার করা যেতে পারে এমন কোনও ফর্মের আউটপুট প্রদর্শন করুন।

যদি কোনও নাম সরবরাহ করা হয় না, বা p -p 'বিকল্পটি দেওয়া হয়, রফতানি করা নামের একটি তালিকা প্রদর্শিত হবে।

সেট

শেল ভেরিয়েবলগুলি পেতেও দরকারী।

আপনার যদি অতিরিক্ত তথ্য (পূর্ণসংখ্যা, রপ্তানি) প্রয়োজন হয় তবে আপনার পরিবর্তে এটি ব্যবহার করা উচিত

typeset

রফতানির একটি সুবিধা রয়েছে, এটির আউটপুটটি তাত্ক্ষণিকভাবে শেলের মধ্যে পড়তে পারে।

শেষ অবধি, আছে

কমপেন -ভি

বিকল্পগুলির উপর নির্ভর করে সম্ভাব্য পরিপূর্ণতা প্রদর্শন করুন।

যা তাদের মান বা অতিরিক্ত তথ্য ছাড়াই সমস্ত পরিবর্তনশীল, শেল এবং পরিবেশ দেখায় shows পরিবর্তনশীল মানটি খুঁজে পেতে আপনাকে cho VARIABLE_NAME প্রতিধ্বনিত করতে হবে । তবে অন্তত তালিকাটি সম্পূর্ণ is এটা জন্যে ব্যাশ , না zsh


1
exportsetকমপক্ষে, শেলের পুনরায় প্রবেশের জন্য উদ্ধৃতি দেওয়ার সময় কোনও সুবিধা নেই । আর printenvenvযদিও এই এনভায়রনমেন্ট ভেরিয়েবল সঙ্গে প্রায়ই কাকতালীয়ভাবে না, শেল ভেরিয়েবল সম্পর্কে এ সব হয় না।
মাইকজার্ভ

3

এর সাথে zsh, আপনি ব্যবহার করতে পারেন typesetযা এর চেয়ে বেশি তথ্য দেয় set, যেমন ভেরিয়েবলের ধরণ। আপনি এখনও সঙ্গে আউটপুট ফিল্টার করতে পারেন grepবা sed, আপনারা কী চান উপর নির্ভর করে। পরিবেশ পরিবর্তনশীল exportedআউটপুট হিসাবে চিহ্নিত করা হয়।

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