উত্তর:
ফাইলটি $HOME/.profile
ব্যাশ, শ, ড্যাশ এবং সম্ভবত অন্যদের সহ বেশ কয়েকটি শেল ব্যবহার করে।
বাশ ম্যান পৃষ্ঠা থেকে:
যখন বাশকে একটি ইন্টারেক্টিভ লগইন শেল হিসাবে আহ্বান করা হয় ... ... এটি প্রথমে ফাইল / ইত্যাদি / প্রোফাইল থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে, যদি সেই ফাইলটি বিদ্যমান থাকে। এই ফাইলটি পড়ার পরে, এটি সেই ক্রমে ash / .bash_profile, ~ / .bash_login, এবং ~ /। প্রোফাইলে অনুসন্ধান করে এবং উপস্থিত এবং পঠনযোগ্য যা প্রথমটি থেকে আদেশগুলি পড়ে এবং কার্যকর করে।
csh এবং tcsh স্পষ্টভাবে তাকান না ~/.profile
কিন্তু সেই শাঁসগুলি দারুণ পুরানো।
Run command as a login shell
। আপনি এটি সরানোর ~/.bash_profile
, বা এটি উত্স তৈরি করতে হবে ~/.profile
।
$HOME/.profile
ভিতর থেকেও উত্স তৈরি করতে পারেন .zshrc
। আমি আমার সমস্ত পোর্টেবল শেল জিনিসগুলিতে রাখার ঝোঁক রাখি .profile
এবং তারপরে আমি এটি যে কোনও পরিবেশের মধ্যে ভাগ করে নিতে পারি around
~/.profile
পরিবেশের পরিবর্তনশীল সংজ্ঞাগুলির জন্য এবং লগ-ইন করার সময় আপনি চালাতে চান এমন গ্রাফিকাল প্রোগ্রামগুলির জন্য সঠিক জায়গা (যেমন ssh-agent
, screen -m
)। এটি আপনার লগইন শেল দ্বারা কার্যকর করা হয় যদি তা বোর্ন-স্টাইলের শেল (sh, ksh, bash) হয়। Zsh ~/.zprofile
পরিবর্তে চলে, এবং Csh এবং tcsh রান ~/.login
।
আপনি যদি কোনও এক্স ডিসপ্লে ম্যানেজারের (লিমিটেড, জিডিএম, কেডিএম, ...) এর অধীনে লগ ইন করেন ~/.profile
তবে রান আপনার ডিস্ট্রিবিউশন ম্যানেজার এবং সম্ভবত ডেস্কটপ এনভায়রনমেন্টটি কীভাবে আপনার ডিস্ট্রিবিউশন দ্বারা কনফিগার করা হয়েছিল তা নির্ভর করে। আপনি যদি কোনও "কাস্টম সেশন" এর অধীনে লগ ইন করেন তবে এটি সাধারণত চালায় ~/.xsession
।
~/.bashrc
ব্যাশ-নির্দিষ্ট সেটিংসের জন্য সঠিক জায়গা, যেমন এলিয়াস, ফাংশন, শেল বিকল্প এবং প্রম্পট। নামটি ইঙ্গিত করে, এটি ব্যাশের জন্য নির্দিষ্ট; csh আছে ~/.cshrc
, ksh আছে ~/.kshrc
, এবং zsh এর <ড্রামল> রয়েছে ~/.zshrc
।
আরও দেখুন:
.bashrc এবং .bash_profile এর মধ্যে পার্থক্য
কোন ব্যাগের সাথে পরিবেশের ভেরিয়েবল সেটআপ করার জন্য কোন সেটআপ ফাইলগুলি ব্যবহার করা উচিত?
Zsh হিট করছে না ~ /। প্রোফাইল
.zlogin
উপরন্তু করার জন্য .zprofile
যা রান পর .zshrc
(কিন্তু শুধুমাত্র লগ-ইন শেল জন্য)। দেখুন ZSH প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
কোনও সাধারণ ফাইল নেই, তবে আপনি প্রতিটি শেল একটি সাধারণ ফাইল থেকে পঠন করতে পারেন।
bash
থেকে পড়া .bash_profile
বা.bashrc
zsh
থেকে পড়া .zprofile
এবং .zshrc
ksh
থেকে পড়া .profile
বা$ENV
তাই আমি এখানে যা করছি:
~/.env
# Put environment variables here, e.g.
PATH=$PATH:$HOME/bin
~/.shrc
test -f "$HOME/.env" && . "$HOME/.env"
# Put interactive shell setup here, e.g.
alias ll='ls -l'
PS1='$PWD$ '
set -o emacs
~/.bashrc
test -f ~/.shrc && source ~/.shrc
# Put any bash-specific settings here, e.g.
HISTFILE=~/.bash_history
shopt -s extglob
IGNOREEOF=yes
~/.zshenv
# Put any zsh-specific settings for non-interactive and interactive sessions, e.g.
setopt braceexpand
setopt promptsubst
setopt shwordsplit
~/.zshrc
test -f ~/.shrc && source ~/.shrc
# Put any zsh-specific interactive settings here, e.g.
HISTFILE=~/.zsh_history
setopt ignoreeof
~/.profile
# Interactive sub-shells source .env, unless this is bash or zsh,
# because they already sourced .env in .bashrc or .zshrc.
if test -z "$BASH_VERSION" -a -z "$ZSH_VERSION" || test -n "$BASH_VERSION" -a \( "${BASH##*/}" = "sh" \)
then
test -f "$HOME"/.env && . "$HOME"/.env
fi
# The name is confusing, but $ENV is ksh's config file for interactive sessions,
# so it's equivalent to .bashrc or .zshrc.
# Putting this here makes running an interactive ksh from any login shell work.
test -f "$HOME"/.shrc && export ENV="$HOME"/.shrc
# Put any login shell specific commands here, e.g.
ssh-add
stty -ixon
~/.bash_profile
source ~/.bashrc
source ~/.profile
~/.zlogin
# zsh sources .zshrc automatically, only need to source .profile
source ~/.profile
~/.zprofile
(empty)
আপনার যদি সিস্টেমে রুট অ্যাক্সেস থাকে তবে অন্য একটি উপায় সেট আপ করা pam_env
।
তুমি রাখতে পারো
session optional pam_env.so user_envfile=.env
প্রাসঙ্গিক /etc/pam.d
ফাইলে (যেমন দেবিয়ান- /etc/pam.d/common-session
তে), এবং তারপরে ব্যবহারকারী যখন লগ ইন করে, PAM
সেখান থেকে পরিবেশের ভেরিয়েবলগুলি পড়বে ~/.env
।
নোট করুন যে pam_env
মূলত শুধুমাত্র VAR=value
এন্ট্রিগুলিকে সমর্থন করে ।
অধিক তথ্য:
বিভিন্ন শেলের জন্য পরিবেশ কনফিগারেশন ফাইলের মতো কোনও জিনিস নেই, কারণ এটি এমনকি শেলটি কীভাবে সংজ্ঞায়িত করা হয় তা নির্দিষ্ট করে।
Csh এ আপনি ব্যাশে ব্যবহার setenv
করেন আপনি export
সেগুলি সংজ্ঞায়িত করতে ব্যবহার করেন।
যাইহোক আপনি নিজের কনফিগারেশন ফাইলটি লিখতে এবং এটি source
আপনার শেলের ডটফাইলে অন্তর্ভুক্ত করতে পারেন ।