.Zshenv, .zshrc, .zlogin, .zprofile, .zlogout এ কী / যাওয়া উচিত নয়?


130

আমি বিভিন্ন স্টার্টআপ ফাইলগুলির জন্য কারটি অন্তর্ভুক্ত করা উচিত এবং কী করা উচিত নয় সে সম্পর্কে গাইডলাইনগুলি সন্ধান করছি zsh

আমি এই ফাইলগুলির স্যোসিংয়ের ক্রম এবং সেগুলির মধ্যে কী কী পরিস্থিতিতে উত্সাহিত করা হয়েছে তা বুঝতে পেরেছি তবে প্রতিটিটিতে কী হওয়া উচিত তা এখনও আমার কাছে পরিষ্কার নয়।


উত্তর:


155

এখানে প্রতিটি ফাইলের মধ্যে কী রয়েছে তা একটি অ-এক্সক্লুসিভ তালিকা:

  • যেহেতু .zshenvসর্বদা উত্সযুক্ত, তাই এটিতে রফতানি ভেরিয়েবলগুলি থাকে যা অন্যান্য প্রোগ্রামগুলির জন্য উপলব্ধ। উদাহরণস্বরূপ, $PATH, $EDITOR, এবং $PAGERপ্রায়ই সেট করা হয় .zshenv। এছাড়াও, আপনি সেট করতে পারেন $ZDOTDIRমধ্যে .zshenvআপনার zsh কনফিগারেশন বাকি জন্য একটি বিকল্প অবস্থান নির্দিষ্ট করতে।
  • .zshrcইন্টারেক্টিভ শেল কনফিগারেশন জন্য। আপনি সেখানে ইন্টারেক্টিভ শেলের জন্য বিকল্পগুলি setoptঅ্যান্ড unsetoptকমান্ড দিয়ে সেট করেছেন । আপনি শেল মডিউলগুলি লোড করতে পারেন, আপনার ইতিহাসের বিকল্পগুলি সেট করতে পারেন, আপনার প্রম্পটটি পরিবর্তন করতে পারেন, জেল এবং সমাপ্তি সেট করতে পারেন, এবং ইত্যাদি te আপনি যে কোনও ভেরিয়েবল সেট করেছেন যা কেবলমাত্র ইন্টারেক্টিভ শেল (উদাঃ $LS_COLORS) -এ ব্যবহৃত হয় ।
  • .zloginএকটি লগইন শেল শুরুতে উত্সাহিত হয়। এই ফাইলটি প্রায়শই এক্স ব্যবহার শুরু করতে ব্যবহৃত হয় startx। কিছু সিস্টেম বুটে এক্স শুরু করে, তাই এই ফাইলটি সবসময় খুব কার্যকর হয় না।
  • .zprofileমূলত একই .zloginযে এটি আগে সোর্স করা হয় তা ছাড়া সরাসরি .zshrcতা না হয়ে সরাসরি উত্সাহিত হয়। Zsh ডকুমেন্টেশন অনুসারে, " .zprofileksh অনুরাগীদের জন্য `zlogin 'এর বিকল্প হিসাবে বোঝানো হয়েছে; দু'টি একসাথে ব্যবহারের উদ্দেশ্যে নয়, যদিও ইচ্ছা করলে এটি অবশ্যই করা যেতে পারে।"
  • .zlogout কখনও কখনও টার্মিনাল সাফ এবং পুনরায় সেট করতে ব্যবহৃত হয়।

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


3
স্পষ্টতার একটি বিন্দু হিসাবে .zshrc এর পরে .zlogin উত্সাহিত করা হয় ( man zshallবিশদে বিশদে দেখুন)।
অ্যারন

8
যখন সেটিং সচেতন হতে হবে $PATHমধ্যে .zshenv, বিভিন্ন অন্যান্য ফাইল এই যে ফাইলটি করে এই নির্দেশটি বাতিল পর sourced হয়। Zsh.org/mla/users/2003/msg00600.html দেখুন ।
বিউ বার্কার

কোথায় উচিত $LANGএবং $LC_ALLযাব?
লেনার হোয়েট

23
কেবলমাত্র আমার নিজের নোট / নিশ্চিতকরণ এবং অন্য কাউকে সহায়তা করার জন্য, চূড়ান্ত আদেশটি হ'ল .zshenv→ [ .zprofileযদি লগইন হয়] → [ .zshrcযদি ইন্টারেক্টিভ হয়] → [ .zloginযদি লগইন হয়] → [ .zlogoutকখনও কখনও]।
গ্যাব্রিয়েল এল।

23

এখানে আমার মতে প্রতিটি ফাইলের কী কী থাকা উচিত নয় সেগুলির একটি তালিকা এখানে রয়েছে:

.zshenv

[প্রতিবার পড়ুন]

এটি সর্বদা উত্সাহিত হয়, তাই এটি পরিবেশের ভেরিয়েবলগুলি সেট করা উচিত যা ঘন ঘন আপডেট হওয়া প্রয়োজন । পাঠ (বা এর সাথে সম্পর্কিত পাল্টা পথ ) একটি ভাল উদাহরণ কারণ আপনি সম্ভবত আপনার পুরো অধিবেশনটিকে আপডেট করার জন্য পুনরায় আরম্ভ করতে চান না। এটিকে ফাইলে সেট করে, টার্মিনাল এমুলেটরটি পুনরায় খোলার মাধ্যমে PATH মান আপডেট হওয়া সাথে একটি নতুন Zsh উদাহরণ শুরু হবে ।

তবে সচেতন হন যে এই ফাইলটি পড়তে পারা যায় এমনকি যখন Zsh একটি একক কমান্ড চালানোর জন্য চালু করা হয় ( -c বিকল্প সহ) এমনকি অন্য কোনও সরঞ্জাম দ্বারা makeস্ট্যান্ডার্ড কমান্ডগুলির ডিফল্ট আচরণটি পরিবর্তন না করার জন্য আপনার খুব সতর্কতা অবলম্বন করা উচিত কারণ এটি ব্যবহার করে এমন কিছু সরঞ্জামকে ভেঙে ফেলতে পারে (উদাহরণস্বরূপ এলিয়াস সেট করে)। নিশ্চিতভাবেই, আপনি কী করছেন তা আপনি জানেন বলে এটি নিষিদ্ধ নয়।

.zprofile

[লগইন পড়ুন]

আমি ব্যক্তিগতভাবে সেই ফাইলটি .zshenvএমনভাবে আচরণ করি তবে কমান্ড এবং ভেরিয়েবলের জন্য যা একবার সেট করা উচিত বা যা ঘন ঘন আপডেট হওয়ার দরকার নেই :

  • সরঞ্জামগুলি কনফিগার করার জন্য পরিবেশের ভেরিয়েবল (সংকলনের জন্য পতাকা, ডেটা ফোল্ডারের অবস্থান ইত্যাদি)
  • কনফিগারেশন যা আদেশগুলি কার্যকর করে (যেমন SCONSFLAGS="--jobs=$(( $(nproc) - 1 ))") এটি কার্যকর করতে কিছুটা সময় নিতে পারে।

আপনি যদি এই ফাইলটি সংশোধন করেন তবে আপনি বর্তমান শেলটি নতুন একটিতে লগইন শেল হিসাবে প্রতিস্থাপন করে কনফিগারেশন আপডেটগুলি পেতে পারেন:

exec zsh --login

.zshrc

[ইন্টারেক্টিভ যখন পড়ুন]

আমি এখানে কেবল ইন্টারেক্টিভ ব্যবহারের জন্য প্রয়োজনীয় সমস্ত কিছু রেখেছি :

  • শীঘ্র,
  • কমান্ড সমাপ্তি,
  • কমান্ড সংশোধন,
  • কমান্ড পরামর্শ,
  • কমান্ড হাইলাইটিং,
  • আউটপুট রঙ
  • alias লেখা,
  • কী বাঁধাই,
  • ইতিহাস পরিচালনার আদেশ দেয়,
  • অন্যান্য বিবিধ ইন্টারেক্টিভ সরঞ্জামগুলি (অটো_সিডি, ম্যানডডটস-ম্যাজিক) ...

.zlogin

[লগইন পড়ুন]

এই ফাইলটি এর মতো .zshprofileতবে পরে পড়া হয় .zshrc। আমি এই মুহুর্তে শেলটি পুরোপুরি সেট আপ করা বিবেচনা করি।

সুতরাং, আমি এটি বাহ্যিক কমান্ডগুলি চালু করতে ব্যবহার করি যা শেল আচরণগুলি (যেমন লগইন পরিচালক) পরিবর্তন করে না।

.zlogout

[লগআউট পড়ুন] [লগইন শেল মধ্যে]

এখানে, আপনি লগইন করে আপনার টার্মিনাল বা অন্য কোনও সংস্থান সেটআপ সাফ করতে পারেন।

আমি কোথায় সেটিংস স্থাপন করব তা নির্বাচন করব

  • এটি অ-ইন্টারেক্টিভভাবে চালিত কমান্ডের দ্বারা প্রয়োজনীয় :.zshenv
  • এটি নতুন শেল আপডেট করা উচিত :.zshenv
  • এটি একটি কমান্ড চালায় যা সম্পূর্ণ হতে কিছুটা সময় নিতে পারে :.zprofile
  • এটি ইন্টারেক্টিভ ব্যবহারের সাথে সম্পর্কিত :.zshrc
  • শেলটি পুরোপুরি সেটআপ হয়ে গেলে এটি চালানো একটি কমান্ড :.zlogin
  • এটি লগইনে অর্জিত সংস্থান প্রকাশ করে :.zlogout

0

ssh-agentকল কল করবেন না .zshenv। এটি আমার lessকমান্ডটির ফলে কোনও পাঠ্য ফাইল আর প্রদর্শন করবে না, কারণ এর বিকল্পগুলি প্রেজটো ( export LESS='-F -g -i -M -R -S -w -X -z-4'ইন .zprofile) দ্বারা কাস্টমাইজ করা হয়েছিল ।

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