.bash_profileআমার নিজের হোম ডিরেক্টরিতে একটি রয়েছে তবে এটি লগইনে চালিত হচ্ছে না। আমি যদি নিম্নলিখিতটি করি তবে জিনিসগুলি আমার প্রত্যাশা মতো মনে হচ্ছে:
ssh myhost
bash
source ~/.bash_profile
তবে সাধারণত লগইন এ সব ঘটে। থটস?
.bash_profileআমার নিজের হোম ডিরেক্টরিতে একটি রয়েছে তবে এটি লগইনে চালিত হচ্ছে না। আমি যদি নিম্নলিখিতটি করি তবে জিনিসগুলি আমার প্রত্যাশা মতো মনে হচ্ছে:
ssh myhost
bash
source ~/.bash_profile
তবে সাধারণত লগইন এ সব ঘটে। থটস?
উত্তর:
ব্যবহার করুন:
chsh
আপনার পাসওয়ার্ডটি প্রবেশ করান এবং আপনি যে শেলটি ব্যবহার করতে চান তার পথটি লিখুন।
বাশের জন্য যে হবে /bin/bash। Zsh জন্য যে হবে /usr/bin/zsh।
sudo chsh -s /bin/bash username
আকিরার উত্তরের উপরে, আপনি নিজের ডিফল্ট শেলটি নির্দিষ্ট করতে নিজের / ইত্যাদি / পাসডাব্লুডি ফাইল সম্পাদনা করতে পারেন ।
আপনি এই উদাহরণের মতো একটি লাইন পাবেন:
john:x:1000:1000:john,,,:/home/john:/bin/sh
শেলটি শেষে নির্দিষ্ট করা আছে।
/etc/passwdএবং আপনি সতর্ক হন তবে জন এর উত্তর সিস্টেম সরবরাহ করে এমন সরঞ্জামগুলির সদ্ব্যবহার করছে।
আপনি আপনার টার্মিনাল প্রোগ্রামটি পরীক্ষা করতে পারেন। এটি / বিন / বাশের পরিবর্তে / বিন / শ চালানোর জন্য কনফিগার করা যেতে পারে
বাশ শুধুমাত্র লগইন সেশনের জন্য .bash_ প্রোফাইলে চালায়। .Bashrc কেবলমাত্র লগইন সেশন নয়, সমস্ত ব্যাশ সেশনের জন্য কার্যকর করা হয়। .Bashrc (। বৃত্তাকার নির্ভরতা এড়ান!) থেকে .bash_ প্রোফাইলে উত্সাহিত করার চেষ্টা করুন বা আপনার টার্মিনাল প্রোগ্রামটিকে শেল প্রোগ্রাম হিসাবে চালাতে / বিন / বাশ-এল কনফিগার করুন।
একটি বিকল্প হ'ল আপনার প্রারম্ভিক স্ক্রিপ্টটির নাম। প্রোফাইলে নামকরণ। এই ফাইলটি বেশিরভাগ ইউনিক্স শেল দ্বারা উত্স করা হচ্ছে ।
বাশ সক্ষম করুন:
$ /bin/bash
ব্যবহারকারীর জন্য শেল পরিবর্তন করুন:
$ sudo usermod -s /bin/bash username
কোথায়:
-s, --shell SHELL new login shell for the user account
sudoসেই সিস্টেমে তার অ্যাক্সেস রয়েছে ? অন্য ব্যবহারকারীর লগইন শেল পরিবর্তনের ক্ষেত্রে আপনি কেন নির্দেশাবলী সরবরাহ করেন?
যেকোন শেলকে আপনার ডিফল্ট করতে, প্রথমে এটি আপনার কম্পিউটারে ইনস্টল করা হয়েছে এবং যাচাই করা আছে তা যাচাই করে নিন /etc/shells:
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/fish
তারপরে chshআপনার শেলটি পরিবর্তন করতে ব্যবহার করুন :
$ sudo chsh -s /usr/bin/bash $(whoami) # or sudo chsh -s /bin/bash $(whoami)
আপনার প্রশ্নে আমার কাছে নিশ্চিতভাবে বলতে যথেষ্ট তথ্য নেই, তবে আমি আগেও একই সমস্যাটি পেয়েছি। ধরে নিই যে আপনি ইতিমধ্যে আপনার পাসওয়ার্ড এন্ট্রিতে / বিন / বাশ সেট পেয়েছেন, এটি আপনার টার্মিনালটি যেভাবে চালু হবে তা হতে পারে।
আপনি যদি কোনও জিইউআই টার্মিনাল চালু করার চেষ্টা করছেন, বলুন gnome-terminalআপনি শ্যাশটি আপনার ব্যাশ স্টার্টআপ ফাইলগুলি পড়বেন বলে আশা করছেন। তবে এটি উবুন্টু এবং সম্ভবত অন্যান্য সিস্টেমে ডিফল্টরূপে ঘটে না।
উবুন্টুতে আমি যেভাবে এটি স্থির করেছি তা হ'ল জিনোম-টার্মিনাল পছন্দগুলি সম্পাদনা করা এবং স্টার্টআপ কমান্ডটি সেট করা bash -l। -lজন্য সংক্ষিপ্ত --login। এটি বাশকে লগইন শেল হিসাবে স্টার্টআপকে বলে, যার ফলে এটি ssh এর মাধ্যমে লগ ইন করার সাথে সাথে স্টার্টআপ স্ক্রিপ্টগুলি লোড করে দেয়।
আমি নিশ্চিত যে এটি হ'ল এটির পক্ষে একটি ভাল যুক্তি রয়েছে তবে আমি লিনাক্স, সাইজিন এবং ম্যাকোস সিস্টেমগুলিতে একই প্রোফাইলগুলি ভাগ করে নেওয়ার কারণে আমি অবাক এবং কিছুটা বিরক্তিকর চেয়েও বেশি পেয়েছি।
~/.profileবা~/.bash_loginতিন মাত্র এক হিসাবে, sourced হয়। (আমি যথাযথ