উত্তর:
এটি বলা হয় না bash_profile
, তবে বিশ্বব্যাশ কনফিগারেশনের মানক স্থান /etc/bash.bashrc
। /etc/profile
শেলটি যদি ব্যাশ হয় তবে এটিকে কল করা স্বাভাবিক । উদাহরণস্বরূপ, আমার মধ্যে /etc/profile
আছে:
if [ "$PS1" ]; then
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1=’0
if [ ‐f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
fi
fi
ব্যবহারের শর্তাবলী, /etc/profile
সমস্ত বোর্ন সামঞ্জস্যপূর্ণ শেল (sh, bash, ksh, ইত্যাদি) এর জন্য সিস্টেম-ব্যাপী কনফিগারেশন সরবরাহ করে। সাধারণত কোনও সমতুল্যের প্রয়োজন হয় না /etc/bash_profile
, কারণ প্রোফাইল ফাইলটির উদ্দেশ্য হ'ল লগইন শেলগুলির জন্য আচরণ নিয়ন্ত্রণ করা। সাধারণত আপনি সেখানে যা করতে চান তা বাশ-নির্দিষ্ট হতে পারে না। /etc/bash.bashrc
বাশ-নির্দিষ্ট, এবং এটি লগইন এবং নন-লগইন শেল উভয়ের জন্য পরিচালিত হবে।
জিনিসগুলিকে আরও জটিল করার জন্য, দেখে মনে হচ্ছে ওএস এক্স এর একটিও নেই /etc/bash.bashrc
। এটি সম্ভবত ওএস এক্স ডিফল্ট টার্মিনালগুলি লগইন শেল হিসাবে চলার সাথে সম্পর্কিত , তাই পার্থক্যটি হারিয়ে যায়:
টার্মিনাল উইন্ডো গাইডলাইনসের ব্যতিক্রম ম্যাক ওএস এক্সের টার্মিনাল.এপ, যা প্রতিটি নতুন টার্মিনাল উইন্ডোর জন্য ডিফল্টরূপে লগইন শেল চালায়, .bashrc এর পরিবর্তে .bash_profile কল করে calling অন্যান্য জিইউআই টার্মিনাল এমুলেটরগুলি একই কাজ করতে পারে তবে বেশিরভাগেরই তেমন ঝোঁক থাকে না।
আমি ওএস এক্স চালাচ্ছি না, তাই আমার জ্ঞানের ব্যাপ্তি সেখানেই শেষ হয়।
/etc/profile
উবুন্টু 12.04- এ ডিফল্ট থেকে । এর পরিবর্তে আপনি কী প্রস্তাব করবেন যদি কেউ এমনটি চান /etc/profile
যা কেবল বাশের অধীনে কার্যকর করা হয়েছিল, এবং অন্য কোনও sh- সামঞ্জস্যপূর্ণ শেল নেই?
/etc/profile
আমার সিস্টেম ফাইল শীর্ষ সার্চ যে একটি মন্তব্য রয়েছে: # System-wide .profile for sh(1)
। এর অর্থ profile
কি sh
সুনির্দিষ্ট? এর sh
আগে কি কোনওভাবে চালানো যায় bash
?
sh
একটি উপসেট bash
। /etc/profile
জন্য মৃত্যুদন্ড কার্যকর করা হয় sh
, bash
অন্য সব বোর্ন সামঞ্জস্যপূর্ণ শাঁস, এবং।
/etc/bashrc
ম্যাকের নামে ডাকা হয়েছিল, না /etc/bash.bashrc
। এটি পাশাপাশি চালানোর জন্য প্রদর্শিত হয় /bin/sh
।
/etc/profile
বিশ্বব্যাপী bash_profile
। ব্যাশের সাথে সুনির্দিষ্ট কোনও ফাইল নেই, বাশ কেবল সমস্ত বোর্ন-স্টাইলের শেল দ্বারা পড়া স্ট্যান্ডার্ড ফাইলটি পড়ে। আপনি যেখানে সিস্টেম-ওয়াইড এনভায়রনমেন্ট ভেরিয়েবল সেট করতে পারবেন।
দেখুন সমস্ত "শেল" দ্বারা পড়া ".Bashrc" সমতুল্য ফাইল কি আছে? ব্যাশের সাধারণ স্টার্টআপ ফাইলগুলির সাধারণ জরিপ জন্য।
এটি লোড হয় না /etc/profile
, তাই কোনও কিছুই লোড হয় না /etc/profile.d/
(লগইন শেলগুলির বিপরীতে, শেষটি দেখুন)।
এর জন্য গ্লোবাল ফাইলটি হ'ল / ইত্যাদি / বাশার্ক বা /etc/bash.bashrc ( -DSYS_BASHRC=
সংকলনের সময় পতাকা সেট উপর নির্ভর করে ):
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM"
দ্বন্দ্ব এড়ানোর জন্য সাধারণত এই ফাইলটি যেমন হয় তেমন (যথাসম্ভব) রেখে দেওয়া ভাল ধারণা। আমি যে কৌশলটি ব্যবহার করি তা হ'ল লগইন করা (/ ইত্যাদি / প্রোফাইল) শেল ব্যবহারের মতো।
আমার কৌশলটি হ'ল উপরের ফাইলটিতে কোনও লোডার যুক্ত করা:
# Add new directory analog to /etc/profile.d
mkdir /etc/bashrc.d
# Write the loader to /etc/bash.bashrc (it might be /etc/bashrc on as mentioned above)
cat >> /etc/bash.bashrc << 'EOF'
# I appended this: Load scripts from /etc/bashrc.d
if test -d /etc/bashrc.d; then
for script in /etc/bashrc.d/*.sh; do
test -r "$script" && . "$script"
done
unset item
fi
EOF
এখন আমি সহজেই /etc/bashrc.d ডিরেক্টরিতে নতুন .shfiles রেখে গ্লোবাল ইন্টারেক্টিভ (বাশ) শেল ফাইলে এন কাস্টমাইজেশন যুক্ত করতে পারি।
/etc/bashrc.d/grep.sh
alias grep='grep --color=auto'
আপনি এই ওয়ান-লাইনার দিয়ে এটি করতে পারেন:
printf "alias grep=\'grep --color=auto\'" > /etc/bashrc.d/grep.sh
যদি এটি পড়ার পরে, আপনি বিনা সম্মতিতে থেকে যান, নিজেকে বোঝানোর জন্য এটি করুন:
printf "alias grep=\'grep --color=auto\'" > /etc/profile.d/grep.sh
একটি নতুন টার্মিনাল এমুলেটর খুলুন এবং আপনার ব্যবহারকারী ডিরেক্টরিতে কিছু গ্রেপ ব্যবহার করে "গ্রাফিক্স" ব্যবহার করুন word
grep -r 'the'
কিছুই রঙ করা উচিত নয়। সিটিআরএলএলটিএফ 1 করে ভার্চুয়াল কনসোলে একই জিনিসটি করুন (মনে রাখবেন যে আপনার এক্স সার্ভারটি সম্ভবত সিটিআরএলএলটিএফ 7 এ চলছে যাতে আপনি পিছনে স্যুইচ করতে পারেন your যদি ভুলে যান তবে আপনার ডেস্কটপ ম্যানেজারটিকে পুনরায় চালু করুন, উদাহরণস্বরূপ)
grep -r 'the'
পছন্দসই হিসাবে রঙিন ফলাফল প্রদান করবে।
কিছুই রঙ করা উচিত নয়। ভার্চুয়াল কনসোলে একই জিনিসটি করে করুন CTRLALTF1(মনে রাখবেন যে আপনার এক্স সার্ভারটি সম্ভবত চলমান রয়েছে CTRLALTF7যাতে আপনি ফিরে যেতে পারেন your
grep -r 'the'
পছন্দসই হিসাবে রঙিন ফলাফল প্রদান করবে।
লগ-ইন শেল কি যখন আপনি একটি মেশিন বুট বা ভার্চুয়াল কনসোল সুইচ পাবেন CTRLALTF1মাধ্যমে FNthভার্চুয়াল কনসোল।
ফাইলগুলি লোড করার /etc/profile
সময় একটি লগইন শেল লোড হয় /etc/profile.d/*.sh
।
/etc/bash.bashrc
একটি ইন্টারেক্টিভ শেল থেকে পড়বেন না ।/etc/profile
অ-ইন্টারেক্টিভ শেল দ্বারা পড়তে পারেন। লগইন শেল এবং নন-লগইন শেলের মধ্যে পার্থক্য