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
।