Tmux নতুন উইন্ডোটি শুরু বা খুললে এটি আমার .profileবা লোড হয় না .bashrc। আমি . ~/.bashrcপ্রতিবার টাইপিং শেষ । এটি স্বয়ংক্রিয়ভাবে ঘটানোর কোনও উপায় আছে?
উত্তর:
হ্যাঁ, আপনার শেষে, .bash_profileলাইনটি লিখুন:
. ~/.bashrc
এটি স্বয়ংক্রিয়ভাবে সেই পরিস্থিতিতে আরসি ফাইলটিকে উত্স করে যেখানে এটি কেবলমাত্র প্রোফাইলটি প্রক্রিয়া করে।
bashকমান্ড লাইন আর্গুমেন্ট এবং পরিবেশের ভেরিয়েবলের সাথে নির্দিষ্ট ফাইলগুলি চালিত হওয়ার নিয়মাবলী জটিল এবং শেলটির প্রকারের উপর নির্ভর করে (লগইন / নন-লগইন, ইন্টারেক্টিভ বা না এবং আরও কিছু) depend
আপনি এগুলি man bashআউটপুটে দেখতে পাচ্ছেন , কেবল সন্ধান করুন INVOCATION- আপনার হজম করতে এবং ডিকোড করতে আপনার সম্ভবত কিছুটা সময় প্রয়োজন হবে যদিও :-)
.bashrc/.profile is not loaded on new tmux session (or window) — why?
ব্যাশ চালানো স্পষ্টভাবে আমার জন্য কাজ করেছে, আমার ~ / .tmux.conf ফাইলে এই লাইনটি যুক্ত করে:
set-option -g default-command "exec /bin/bash"
~/.tmux.conf : set -g default-command "/bin/bash"। ধন্যবাদ বন্ধু.
প্রাক্তন উত্তরগুলি সমাধান সরবরাহ করেছিল তবে কারণটির ব্যাখ্যা দেয় নি। এটা এখানে.
এটি ব্যাশ ইআরআইডি ফাইলগুলির সাথে সম্পর্কিত। ডিফল্টরূপে, ~/.bashrcএকটি ইন্টারেক্টিভ, নন-লগইন শেল ব্যবহৃত হয়। এটি একটি লগইন শেল মধ্যে উত্সাহিত করা হবে না। Tmux ডিফল্টরূপে লগইন শেল ব্যবহার করে। অতএব, শেমস টিএমউक्स এড়িয়ে চলুন ~/.bashrc।
default-commandশেল কমান্ডডিফল্টটি একটি খালি স্ট্রিং, যা tmux কে
default-shellবিকল্পের মান ব্যবহার করে লগইন শেল তৈরির নির্দেশ দেয় ।
বাশের জন্য ইনস ফাইলগুলি,
/etc/profile~/.bash_profile, ~/.bash_login, ~/.profile(শুধুমাত্র প্রথম এক যে বিদ্যমান)/etc/bash.bashrc (কিছু লিনাক্স; ম্যাক ওএস এক্সে নেই)~/.bashrc$BASH_ENVঅদ্ভুত ইন্টারেক্টিভ, লগ-ইন না করা লোডিং প্রয়োজনীয়তা অন্যান্য পরিস্থিতিতেও মানুষকে বিভ্রান্ত করে। সবচেয়ে ভালো সমাধান লোড প্রয়োজন পরিবর্তন হয় ~/.bashrcযেমন শুধুমাত্র ইন্টারেক্টিভ , যা ঠিক কিছু ডিস্ট্রো উবুন্টু মত কি, করছেন।
# write content below into ~/.profile, or ~/.bash_profile
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
এটি আপনার ইচ্ছা সমাধান হওয়া উচিত। এবং আমি প্রতিটি বাশ ব্যবহারকারীর প্রোফাইলে এটি সেটআপ করার পরামর্শ দিচ্ছি।
তথ্যসূত্র
man tmuxএই থ্রেড থেকে:
ব্যবহার করে .bash_profileকাজ করবে বলে মনে হচ্ছে।
$echo case $- in *i*) . ~/.bashrc;; esac >> .bash_profile
আমার জন্য যে সমাধানটি কাজ করেছিল তা নিম্নলিখিত:
.bash_profileআপনার যদি ফাইল না থাকে তবে একটি ফাইল তৈরি করুন~.bash_profileপুট শেষে source ~/.bashrcবাsource ~/.profileবিষয়টি এখন ঠিক করা উচিত।
আমার একই সমস্যা ছিল এবং এখনও পর্যন্ত সমাধানগুলি আমার পক্ষে কার্যকর হয়নি। আমার জন্য কাজ শেষ করে এমন সমাধানটি এখানে পাওয়া যাবে ।
সংক্ষেপে, tmuxউইন্ডোজ / সেশনগুলিতে লগইন শেল ব্যবহার করা হয় যা ~/.profileশুরু হওয়ার সাথে সাথে অন্য ফাইলগুলির মধ্যে সন্ধান করে।
আমি যা চেয়েছিলাম তা ছিল প্রতিটি নতুন tmuxউইন্ডো দিয়ে zsh শুরু করা যাতে আমি exec zshআমার নীচে রেখে যাই ~/.profile।