কিভাবে একটি শেল পরিবেশ পুনরায় সেট করতে?


25

এই সমস্যাটি আমাকে কিছুক্ষণের জন্য তুচ্ছ করে চলেছে , এবং যদিও আমি ভেবেছিলাম এনভাওয়াচারের মাধ্যমে আমার উত্তরটি পেয়েছি , দুর্ভাগ্যক্রমে এটি কেবল বাশের ক্ষেত্রে কাজ করে। এবং আমি zsh ব্যবহার করি।

আমি এনভিভি-ওয়াচারের জিনিসগুলিকে আরও কম ডিগ্রীতে প্রতিলিপি করতে চাই, তবে আমার জানতে হবে এমন কোনও কমান্ড রয়েছে যার মাধ্যমে আমি পরিষ্কার শুরুর পর্যায়ে কোনও শেল পুনরায় সেট করতে পারি।

উদাহরণস্বরূপ, আমি নিম্নলিখিত কর্মপ্রবাহটি পেতে চাই।

source some-functions
alias another-thing
export SVN_EDITOR=vim
RESET-ZSH # none of the above are valid any more

এমন কোনও সম্ভাবনা রয়েছে, নাকি আমি প্রজাপতিদের তাড়া করছি?

উত্তর:


32

আপনি ঠিক করতে পারেন exec zsh, যা আপনাকে একটি তাজা zsh দেবে এবং আর ডি ফাংশনগুলি আবার চালাবে। নোট করুন যে আপনার exec zsh -l"লগইন শেল" স্থিতি ধরে রাখতে লগইন zsh এর প্রয়োজন হবে। আমি জানি না এটি কমান্ডের ইতিহাসটি কতটা ভালভাবে সংরক্ষণ করে (এটি আমার পক্ষে কাজ করে বলে মনে হয় তবে আপনি যদি বিভিন্ন টার্মিনালে একাধিক শেল ব্যবহার করেন তবে আপনি দুটি শেলের ইতিহাসের মধ্যে 'ক্রসস্টালক' পেতে পারেন)


4
এটি কি রফতানি পরিবেশের ভেরিয়েবলগুলি পূর্বাবস্থায় ফিরিয়ে আনবে না? (যদিও আপনার
ডিআর

সম্ভবত এটি হবে না। আমি সেই দিকটি বিবেচনা করি নি কারণ আপনি শেলটিতে অস্থায়ীভাবে সেট করে এমন কিছু হিসাবে আমি পরিবেশের ভেরিয়েবলগুলির কথা ভাবছিলাম না।
র্যান্ডম 832

15

রফতানি পরিবেশের ভেরিয়েবলগুলি পূর্বাবস্থায় ফেলার জন্য আপনি envকমান্ডটি ব্যবহার করতে পারেন env -i zsh। envআর্গুমেন্ট হিসাবে প্রদত্ত কমান্ডটি চালায় এবং -iএটিকে একটি পরিষ্কার পরিবেশ দেয়।

আপনার কনফিগারেশনের উপর নির্ভর করে আপনার নিজের লোড করার জন্য আপনার  /  যুক্ত -lহতে পারে এবং আপনার পরিবেশটি "বুটস্ট্র্যাপ" করার প্রয়োজন হতে পারে যাতে শেলটি জানতে পারে যে আপনার প্রারম্ভিক ফাইলগুলি কোথায় সন্ধান করতে পারে। সামগ্রিকভাবে, এটির মতো দেখাচ্ছে:zshbash.profile$HOME

env -i HOME="$HOME" zsh -l

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