মধ্যে পার্থক্য কি .bashrc
এবং .bash_profile
এবং যা আমি ব্যবহার করা উচিত?
.profile
তবে এই প্রশ্নটি একবার দেখুন: superuser.com/Qestions/789448/…
মধ্যে পার্থক্য কি .bashrc
এবং .bash_profile
এবং যা আমি ব্যবহার করা উচিত?
.profile
তবে এই প্রশ্নটি একবার দেখুন: superuser.com/Qestions/789448/…
উত্তর:
Ditionতিহ্যগতভাবে, আপনি যখন ইউনিক্স সিস্টেমে লগইন করেন, সিস্টেমটি আপনার জন্য একটি প্রোগ্রাম শুরু করে। এই প্রোগ্রামটি একটি শেল, অর্থাত্, অন্যান্য প্রোগ্রাম শুরু করার জন্য ডিজাইন করা একটি প্রোগ্রাম। এটি একটি কমান্ড লাইনের শেল: আপনি এর নাম টাইপ করে অন্য প্রোগ্রাম শুরু করেন। ডিফল্ট শেল, একটি বোর্ন শেল, ~/.profile
লগইন শেল হিসাবে ডাকা হলে কমান্ডগুলি পড়ে reads
বাশ বোর্নের মতো শেল shell এটি ~/.bash_profile
যখন লগইন শেল হিসাবে আহ্বান করা হয় তখন থেকে কমান্ডগুলি পড়ে এবং যদি সেই ফাইলটি বিদ্যমান না থাকে - তবে এটি ~/.profile
পরিবর্তে পড়ার চেষ্টা করে।
আপনি যেকোন সময় সরাসরি শেলটি ডেকে আনতে পারেন, উদাহরণস্বরূপ জিইউআই পরিবেশের মধ্যে টার্মিনাল এমুলেটর চালু করে। শেলটি যদি লগইন শেল না হয় তবে এটি পড়বে না ~/.profile
। আপনি যখন একটি ইন্টারেক্টিভ শেল হিসাবে বাশ শুরু করেন (অর্থাত্ স্ক্রিপ্টটি চালনা করবেন না), তখন এটি পড়বে ~/.bashrc
(লগইন শেল হিসাবে আহ্বান করা ব্যতীত, তবে এটি কেবল পড়বে ~/.bash_profile
বা ~/.profile
।
অতএব:
~/.profile
আপনার পুরো সেশনে প্রযোজ্য এমন স্টাফ রাখার জায়গাটি যেমন আপনি লগ ইন করার সময় আপনি যে প্রোগ্রামগুলি শুরু করতে চান (তবে গ্রাফিকাল প্রোগ্রাম নয়, তারা একটি আলাদা ফাইলে যায়) এবং পরিবেশের পরিবর্তনশীল সংজ্ঞা।
~/.bashrc
এমন স্টাফ রাখার জায়গা যা কেবলমাত্র ব্যাশ নিজেই প্রয়োগ করে যেমন যেমন ওরফে এবং ফাংশন সংজ্ঞা, শেল বিকল্প এবং প্রম্পট সেটিংস। (আপনি সেখানে কী বাঁধাই করতে পারেন, তবে ব্যাশের জন্য তারা সাধারণত প্রবেশ করতে পারে ~/.inputrc
))
~/.bash_profile
পরিবর্তে ব্যবহার করা যেতে পারে ~/.profile
, তবে এটি কেবল বাশ দ্বারা পড়া হয়, অন্য কোনও শেল দ্বারা নয়। (আপনি যদি আপনার ইনিশিয়েশন ফাইলগুলি একাধিক মেশিনে কাজ করতে চান এবং আপনার লগইন শেলটি তাদের সকলের পক্ষে বাশ না করে তবে এটি বেশিরভাগ ক্ষেত্রে উদ্বেগের বিষয়)) ~/.bashrc
শেলটি ইন্টারেক্টিভ থাকলে এটি অন্তর্ভুক্ত করার জন্য এটি একটি যৌক্তিক জায়গা । আমি নিম্নলিখিত বিষয়বস্তুগুলিতে সুপারিশ করছি ~/.bash_profile
:
if [ -r ~/.profile ]; then . ~/.profile; fi
case "$-" in *i*) if [ -r ~/.bashrc ]; then . ~/.bashrc; fi;; esac
আধুনিক ইউনিটগুলিতে, এর সাথে সম্পর্কিত একটি যুক্ত জটিলতা রয়েছে ~/.profile
। আপনি যদি কোনও গ্রাফিক্যাল পরিবেশে লগ ইন করেন (এটি হ'ল প্রোগ্রামটি যেখানে আপনি আপনার পাসওয়ার্ড টাইপ করেন সেগুলি গ্রাফিক্স মোডে চলমান থাকে), আপনি স্বয়ংক্রিয়ভাবে লগইন শেলটি পাবেন না ~/.profile
। গ্রাফিকাল লগইন প্রোগ্রামের উপর নির্ভর করে, উইন্ডো ম্যানেজার বা ডেস্কটপ পরিবেশে আপনি চালনা করেন এবং আপনার ডিস্ট্রিবিউশন কীভাবে এই প্রোগ্রামগুলিকে কনফিগার করেছে, আপনার ~/.profile
পড়া বা নাও করা যেতে পারে। যদি তা না হয় তবে সাধারণত অন্য জায়গা থাকে যেখানে আপনি লগ ইন করার সময় আপনি পরিবেশের ভেরিয়েবল এবং প্রোগ্রামগুলি লঞ্চ করার জন্য সংজ্ঞা দিতে পারেন, তবে দুর্ভাগ্যক্রমে কোনও মানক অবস্থান নেই।
নোট করুন আপনি এখানে পরিবেশের পরিবর্তনশীল সংজ্ঞা স্থাপন করতে ~/.bashrc
বা সর্বদা টার্মিনালগুলিতে লগইন শেলগুলি চালু করতে সুপারিশ দেখতে পারেন see দুটোই খারাপ ধারণা। এই ধারণাগুলির যে কোনওটির মধ্যে সবচেয়ে সাধারণ সমস্যাটি হ'ল আপনার পরিবেশ পরিবর্তনশীলগুলি কেবলমাত্র টার্মিনালের মাধ্যমে চালু হওয়া প্রোগ্রামগুলিতে সেট করা হবে, সরাসরি আইকন বা মেনু বা কীবোর্ড শর্টকাট দিয়ে শুরু হওয়া প্রোগ্রামগুলিতে নয়।
Request সম্পূর্ণতার জন্য, অনুরোধ অনুসারে: যদি .bash_profile
উপস্থিত না থাকে তবে ব্যাশ .bash_login
ফিরে যাওয়ার আগেও চেষ্টা করে .profile
। ভুলে নির্দ্বিধায় এটি বিদ্যমান।
~/.bash_profile
পরিবর্তে ব্যবহার করা যেতে পারে ~/.profile
, তবে ~/.bashrc
শেলটি ইন্টারেক্টিভ থাকলে আপনাকেও অন্তর্ভুক্ত করতে হবে। এগুলি অরথোগোনাল ইস্যু হিসাবে বিভ্রান্তিকর। আপনি যদি ব্যবহার করেন ~/.bash_profile
বা ~/.profile
আপনি ~/.bashrc
সেখান থেকে সেটিংস ব্যবহার করতে চান তবে আপনি লগইন শেলটিতে প্রভাব ফেলতে চান তা বিবেচ্য নয়।
~/.bashrc
নির্বাচনের সাথে অন্তর্ভুক্ত করার প্রয়োজনের কিছু আছে যা সত্য নয়। যদি লগইন করার সময় কেউ যদি কোনও ধরণের স্ক্রিপ্টে অন্তর্ভুক্ত থাকে (তবে এটি হয় হয় না ) কারণ তিনি লগইন শেলটিতে সেটিংগুলি একইভাবে প্রয়োগ করতে চান যা তারা নন-লগইন শেলটিতে প্রয়োগ করা হয়। ~/.bash_profile
~/.profile
~/.bashrc
~/.bash_profile
~/.profile
~/.bashrc
ব্যাশ ম্যান পৃষ্ঠা অনুসারে .bash_profile লগইন শেলগুলির জন্য কার্যকর করা হয়, যখন .bashrc ইন্টারেক্টিভ নন-লগইন শেলগুলির জন্য কার্যকর করা হয়।
লগইন বা নন-লগইন শেল কী?
আপনি যখন কনসোলের মাধ্যমে লগইন করুন (যেমন: ব্যবহারকারীর নাম এবং পাসওয়ার্ড টাইপ করুন), বুট করার সময় মেশিনে বসে শারীরিকভাবে বসে থাকবেন অথবা ssh: .bash_profile দ্বারা প্রাথমিক কমান্ড প্রম্পটের আগে জিনিসগুলি কনফিগার করতে কার্যকর করা হবে।
তবে, আপনি যদি ইতিমধ্যে আপনার মেশিনে লগইন করেছেন এবং জিনোম বা কেডিএর ভিতরে একটি নতুন টার্মিনাল উইন্ডো (এক্সটার্ম) খোলেন, তবে উইন্ডো কমান্ড প্রম্পটের আগে .brcrc কার্যকর করা হবে uted আপনি যখন টার্মিনালে / বিন / ব্যাশ টাইপ করে একটি নতুন ব্যাশ ইনস্ট্যান্স শুরু করেন .bashrc এছাড়াও চালিত হয়।
পুরানো দিনগুলিতে, যখন সিউডো টিটি সিউডো ছিল না এবং প্রকৃতপক্ষে, ভাল, টাইপ করা হয়েছিল, এবং ইউএনআইএক্সগুলি মোডেম দ্বারা অ্যাক্সেস করা হয়েছিল তাই আপনি ধীরে ধীরে প্রতিটি স্ক্রিনে আপনার প্রতিটি চিঠি মুদ্রিত দেখতে পেয়েছিলেন, দক্ষতা সর্বজনীন ছিল। দক্ষতা কিছুটা সহায়তা করার জন্য আপনার কাছে একটি মূল লগইন উইন্ডো এবং আপনি যে কোনও উইন্ডো প্রকৃতপক্ষে কাজ করতেন সে সম্পর্কে ধারণা ছিল। আপনার মূল উইন্ডোতে আপনি কোনও নতুন মেলের জন্য বিজ্ঞপ্তি চান, সম্ভবত ব্যাকগ্রাউন্ডে কিছু অন্যান্য প্রোগ্রাম চালান।
এটি সমর্থন করার জন্য, শেলগুলি .profile
বিশেষত 'লগইন শেলস' এ একটি ফাইল সস করে। এটি বিশেষ করবে, একবার সেশন সেটআপ করার জন্য। বাশ প্রথমে .বাশ_ প্রোফাইলে দেখার জন্য এটি কিছুটা বাড়িয়েছে pr অন্যান্য শেলগুলি, লগইনবিহীন, কেবলমাত্র আরসি ফাইল, .bashrc (বা .kshrc, ইত্যাদি) উত্স করে।
এটি এখন কিছুটা অ্যানাক্রোনিজম। আপনি যেমন কোনও গুই উইন্ডো ম্যানেজারে লগইন করেন তেমন কোনও প্রধান শেলটিতে আপনি লগইন করেন না। অন্য উইন্ডোর চেয়ে আলাদা কোনও প্রধান উইন্ডো নেই।
আমার পরামর্শ - এই পার্থক্যটি সম্পর্কে চিন্তা করবেন না এটি ইউনিক্স ব্যবহারের পুরানো স্টাইলের উপর ভিত্তি করে। আপনার ফাইলগুলির মধ্যে পার্থক্য দূর করুন। .Bash_ প্রোফাইলে সম্পূর্ণ সামগ্রীটি হওয়া উচিত:
[ -f $HOME/.bashrc ] && . $HOME/.bashrc
এবং আপনি বাস্তবে .bashrc এ সেট করতে চান এমন সমস্ত কিছু রাখুন
মনে রাখবেন .bashrc সমস্ত শেল, ইন্টারেক্টিভ এবং অ-ইন্টারেক্টিভের জন্য উত্সযুক্ত। আপনি এই কোডটি .বাশিআরসি-র শীর্ষের নিকটে স্থাপন করে অ-ইন্টারেক্টিভ শেলগুলির জন্য সোর্সিং শর্ট সার্কিট করতে পারেন:
[[ $- != *i* ]] && return
.$HOME/.bashrc
যেমন রিচ উপরে দেখিয়েছেন, সেটিংস .bashrc
লগইন শাঁস উপলব্ধ হবে, এবং এইভাবে ডেস্কটপ পরিবেশে হিসাবে ভাল। উদাহরণস্বরূপ, আমার ফেডোরা সিস্টেমে gnome-session
যেমনটি শুরু হয় -$SHELL -c gnome-session
তেমনই .profile
পড়ে।
.bashrc
মধ্যে .profile
সাধারণত কাজ না, কারণ .profile
দ্বারা সঞ্চালিত হতে পারে /bin/sh
(ডিফল্ট অনুসারে একটি গ্রাফিকাল লগ ইনের জন্য যেমন উবুন্টু দিকে) এবং ব্যাশ, এবং যে শেল ইন্টারেক্টিভ (ক গ্রাফিকাল লগ-ইন জন্য যেমন) নাও হতে পারে।
[[ $- != *i* ]] && return
") সুপারিশ যুক্ত করব; আমি আমার .bashrc
কিছুটিকে এমনকি অ-ইন্টারেক্টিভ শেলের জন্যও মৃত্যুদন্ড কার্যকর করা যেমন , ইস্যু করার সময় এনভির ভারসাম সেট করে ssh hostname {command}
, যাতে রিমোট কমান্ডগুলি সঠিকভাবে কার্যকর করা যায় (যদিও শেলটি ইন্টারঅ্যাক্টিভ না হলেও)। তবে পরবর্তী সময়ে অন্যান্য সেটিংস .bashrc
এড়ানো উচিত। আমি সাধারণত TERM = বোবা এবং / অথবা আনসেট পরীক্ষা করি এবং তারপরে তাড়াতাড়ি জামিন আউট।
শ্রীভাতসার এর দুর্দান্ত ব্লগ পোস্টটি একবার দেখুন । এখানে একটি এক্সট্রাক্ট, তবে ব্লগ পোস্টে যান, এটিতে "লগইন শেল", একটি ফ্লো চার্ট এবং জেডএসের জন্য অনুরূপ টেবিলের মতো শর্তগুলির জন্য ব্যাখ্যা অন্তর্ভুক্ত রয়েছে।
বাশের জন্য, তারা নিম্নলিখিত হিসাবে কাজ করে। উপযুক্ত কলামটি পড়ুন। এ, তারপরে বি, তারপরে সি ইত্যাদি কার্যকর করে বি 1, বি 2, বি 3 এর অর্থ এটি খুঁজে পাওয়া ফাইলগুলির মধ্যে প্রথমটি কার্যকর করে।
+----------------+-----------+-----------+------+
| |Interactive|Interactive|Script|
| |login |non-login | |
+----------------+-----------+-----------+------+
|/etc/profile | A | | |
+----------------+-----------+-----------+------+
|/etc/bash.bashrc| | A | |
+----------------+-----------+-----------+------+
|~/.bashrc | | B | |
+----------------+-----------+-----------+------+
|~/.bash_profile | B1 | | |
+----------------+-----------+-----------+------+
|~/.bash_login | B2 | | |
+----------------+-----------+-----------+------+
|~/.profile | B3 | | |
+----------------+-----------+-----------+------+
|BASH_ENV | | | A |
+----------------+-----------+-----------+------+
| | | | |
+----------------+-----------+-----------+------+
| | | | |
+----------------+-----------+-----------+------+
|~/.bash_logout | C | | |
+----------------+-----------+-----------+------+
[ -z "$PS1" ] && return
? আমার উত্তরের টেবিলটি স্ক্রিপ্টগুলির বিষয়বস্তু নির্বিশেষে বাশ দ্বারা চালিত স্ক্রিপ্টগুলির তালিকা দিচ্ছে, যদি স্ক্রিপ্টে নিজেই লাইন থাকে তবে [ -z "$PS1" ] && return
অবশ্যই এটি কার্যকর হবে, তবে আমি মনে করি না এর অর্থ হওয়া উচিত আমার পরিবর্তন হওয়া উচিত টেবিল।
হেড অফ / ইটিসি / প্রোফাইলে একটি ভাল মন্তব্য
উপরে ফ্লিমের দুর্দান্ত উত্তরের উপর ভিত্তি করে, আমি আমার ডেবিয়ান / ইত্যাদি / প্রোফাইলের মাথায় এই নতুন মন্তব্যটি অন্তর্ভুক্ত করেছি, (আপনার এটিকে আপনার ডিস্ট্রোর জন্য সামঞ্জস্য করতে হতে পারে)) :
# For BASH: Read down the appropriate column. Executes A, then B, then C, etc.
# The B1, B2, B3 means it executes only the first of those files found. (A)
# or (B2) means it is normally sourced by (read by and included in) the
# primary file, in this case A or B2.
#
# +---------------------------------+-------+-----+------------+
# | | Interactive | non-Inter. |
# +---------------------------------+-------+-----+------------+
# | | login | non-login |
# +---------------------------------+-------+-----+------------+
# | | | | |
# | ALL USERS: | | | |
# +---------------------------------+-------+-----+------------+
# |BASH_ENV | | | A | not interactive or login
# | | | | |
# +---------------------------------+-------+-----+------------+
# |/etc/profile | A | | | set PATH & PS1, & call following:
# +---------------------------------+-------+-----+------------+
# |/etc/bash.bashrc | (A) | A | | Better PS1 + command-not-found
# +---------------------------------+-------+-----+------------+
# |/etc/profile.d/bash_completion.sh| (A) | | |
# +---------------------------------+-------+-----+------------+
# |/etc/profile.d/vte-2.91.sh | (A) | | | Virt. Terminal Emulator
# |/etc/profile.d/vte.sh | (A) | | |
# +---------------------------------+-------+-----+------------+
# | | | | |
# | A SPECIFIC USER: | | | |
# +---------------------------------+-------+-----+------------+
# |~/.bash_profile (bash only) | B1 | | | (doesn't currently exist)
# +---------------------------------+-------+-----+------------+
# |~/.bash_login (bash only) | B2 | | | (didn't exist) **
# +---------------------------------+-------+-----+------------+
# |~/.profile (all shells) | B3 | | | (doesn't currently exist)
# +---------------------------------+-------+-----+------------+
# |~/.bashrc (bash only) | (B2) | B | | colorizes bash: su=red, other_users=green
# +---------------------------------+-------+-----+------------+
# | | | | |
# +---------------------------------+-------+-----+------------+
# |~/.bash_logout | C | | |
# +---------------------------------+-------+-----+------------+
#
# ** (sources !/.bashrc to colorize login, for when booting into non-gui)
এবং এটি উল্লেখ করতে অন্য সেটআপ ফাইলগুলির প্রত্যেকের মাথায় এই নোট:
# TIP: SEE TABLE in /etc/profile of BASH SETUP FILES AND THEIR LOAD SEQUENCE
আমি মনে করি গুরুত্বপূর্ণ যে ডিবিয়ানের / ইত্যাদি / প্রোফাইল ডিফল্ট উত্স অনুসারে (অন্তর্ভুক্ত) /etc/bash.bashrc (এটি যখন /etc/bash.bashrc উপস্থিত থাকে)। সুতরাং লগইন স্ক্রিপ্টগুলি উভয় / ইত্যাদি ফাইল পড়ে, যখন লগ-ইন না করে কেবল bash.bashrc পড়ে।
এছাড়াও লক্ষণীয় যে /etc/bash.bashrc ইন্টারেক্টিভভাবে চালানো হয় না তখন কিছুই করতে সেট করা হয়। সুতরাং এই দুটি ফাইল কেবল ইন্টারেক্টিভ স্ক্রিপ্টগুলির জন্য।
ব্যাশের নিজের কনফিগারেশন যুক্তিটি জটিল নয় এবং এই পৃষ্ঠায়, সার্ভারফল্টে এবং বহু ব্লগে অন্য জবাবগুলিতে ব্যাখ্যা করা হয়েছে। লিনাক্স ডিস্ট্রিবিউশনগুলি ব্যাশ তৈরি করে তবে সমস্যাটি হ'ল , জটিল এবং বিভিন্ন উপায়ে তারা ডিফল্টরূপে বাশকে কনফিগার করে। http://mywiki.wooledge.org/DotFiles এর মধ্যে কয়েকটি ক্রাইয়ের সংক্ষেপে উল্লেখ করেছে। ফেডোরা ২৯-তে এখানে একটি নমুনা সন্ধান করা হয়েছে, এটি দেখায় যে কোন ফাইল উত্সটি দেয় যা অন্যান্য ফাইল (গুলি) এবং কোন সরল দৃশ্যের জন্য আদেশ করে: দূরবর্তীভাবে এসএসএসের সাথে সংযুক্ত হচ্ছে এবং তারপরে অন্য একটি সাবশেল শুরু করবে:
ssh fedora29
└─ -bash # login shell
├── /etc/profile
| ├─ /etc/profile.d/*.sh
| ├─ /etc/profile.d/sh.local
| └─ /etc/bashrc
├── ~/.bash_profile
| └─ ~/.bashrc
| └─ /etc/bashrc
|
|
└─ $ bash # non-login shell
└─ ~/.bashrc
└─ /etc/bashrc
└─ /etc/profile.d/*.sh
ফেডোরার সবচেয়ে জটিল যুক্তিটি এখানে রয়েছে /etc/bashrc
। উপরে /etc/bashrc
যেমন দেখা যায় যে কোনও ফাইল ব্যাশ নিজেই এটি সম্পর্কে জানে না, আমি সরাসরি বলতে চাইছি না। ফেডোরার /etc/bashrc
পরীক্ষা কিনা:
... এবং তারপরে সম্পূর্ণ ভিন্ন জিনিসগুলি করে।
আপনি যদি মনে করেন উপরের গ্রাফটিকে খুব খারাপ মনে করতে পারেন কারণ এটি প্রায় পর্যাপ্ত নয়: এই গ্রাফটি কেবল একটি দৃশ্যের বর্ণনা দেয়, অ ইন্টারেক্টিভ স্ক্রিপ্টগুলি চালানো বা গ্রাফিক্যাল সেশন শুরু করার সময় কিছুটা ভিন্ন ঘটে। বাদ দিয়েছি ~/.profile
। আমি bash_completion
স্ক্রিপ্টগুলি বাদ দিয়েছি । পিছিয়ে সামঞ্জস্যের কারণে, বাশকে তার আচরণ পরিবর্তনের /bin/sh
পরিবর্তে অনুরোধ করা হচ্ছে /bin/bash
। Zsh এবং অন্যান্য শাঁস সম্পর্কে কি? এবং অবশ্যই বিভিন্ন লিনাক্স ডিস্ট্রিবিউশনগুলি বিভিন্নভাবে কাজ করে, উদাহরণস্বরূপ ডিবিয়ান এবং উবুন্টু বেস এইচ -এর একটি নন-স্ট্যান্ডার্ড সংস্করণ নিয়ে আসে , এতে রয়েছে ডেবিয়ান-নির্দিষ্ট কাস্টমাইজেশন (গুলি)। এটি উল্লেখযোগ্যভাবে একটি অস্বাভাবিক ফাইলের সন্ধান করে:/etc/bash.bashrc
। এমনকি যদি আপনি একটি একক লিনাক্স বিতরণে আটকে থাকেন তবে এটি সম্ভবত সময়ের সাথে সাথে বিকশিত হয়। অপেক্ষা করুন: আমরা ম্যাকওএস, ফ্রিবিএসডি, এমনকি স্পর্শও করি নি ... অবশেষে, তাদের প্রশাসকরা তাদের যে সিস্টেমটি ব্যবহার করতে হবে তা কনফিগার করেছে এমন আরও সৃজনশীল পদ্ধতিতে আটকে থাকা ব্যবহারকারীদের জন্য একটি চিন্তাভাবনা করা যাক।
যেহেতু এই বিষয়টির আলোচনার অবিচ্ছিন্ন প্রবাহটি দেখায়, এটি একটি হারানো কারণ। যতক্ষণ আপনি কেবল নতুন মান যুক্ত করতে চান ততক্ষণ কিছু "ট্রায়াল এবং ত্রুটি" যথেষ্ট হবে। আসল মজা শুরু হয় যখন আপনি ইতিমধ্যে অন্য (ইন / ইত্যাদি) এ সংজ্ঞায়িত কিছু (ব্যবহারকারী) ফাইলের মধ্যে কিছু পরিবর্তন করতে চান । তারপরে ইঞ্জিনিয়ারিংয়ের জন্য এমন কিছু সময় ব্যয় করার জন্য প্রস্তুত থাকুন যা কখনও পোর্টেবল হয় না।
শেষ মুহুর্তের জন্য এখানে জুনিয়র হিসাবে ক্লিয়ার লিনাক্সের একই, সরল দৃশ্যের জন্য এখানে "উত্স গ্রাফ" রয়েছে:
ssh clearlinux
└─ -bash # login shell
├── /usr/share/defaults/etc/profile
| ├─ /usr/share/defaults/etc/profile.d/*
| ├─ /etc/profile.d/*
| └─ /etc/profile
├── ~/.bash_profile
|
|
└─ $ bash # non-login shell
├─ /usr/share/defaults/etc/bash.bashrc
| ├─ /usr/share/defaults/etc/profile
| | ├─ /usr/share/defaults/etc/profile.d/*
| | ├─ /etc/profile.d/*
| | └─ /etc/profile
| └─ /etc/profile
└─ ~/.bashrc