নতুন এলিয়াস এবং ফাংশন সংজ্ঞায়নের পরে উপকরণ এবং ফাংশনগুলি রিফ্রেশ করবেন?


55

আমি যখন .bash_aliasesফাইলটিতে একটি নতুন উপন্যাস বা ফাইলের নতুন ফাংশনটি সংজ্ঞায়িত করি .bashrc, তখন কি টার্মিনালটি বন্ধ না করেই নতুন অ্যালিয়াস বা ফাংশনগুলি তাত্ক্ষণিকভাবে ব্যবহার করতে সক্ষম হওয়ার জন্য কিছু রিফ্রেশ কমান্ড রয়েছে (আমার ক্ষেত্রে কয়েকটি ট্যাব খোলা আছে xfce4- টার্মিনালে, অনেকগুলি ফাইল খোলা থাকে) এবং কাজের মাঝখানে)?


6
মনে রাখবেন যে কোনও কমান্ড নেই যা আপনার সমস্ত উন্মুক্ত টার্মিনাল / ট্যাবগুলিতে নতুন কমান্ডটি পরিচিত করে তুলবে। আপনাকে যা করতে হবে করব . .bashrcবা source .bashrcযে শেল আপনি খোলা রয়েছে।
পল টমলিন

উত্তর:


66

পরিবর্তিত ফাইলটি সোর্সিং বর্তমান টার্মিনালে নতুন লিখিত উরফ বা ফাংশনটিতে অ্যাক্সেস সরবরাহ করবে, উদাহরণস্বরূপ:

source ~/.bashrc

একটি বিকল্প বাক্য গঠন:

. ~/.bashrc

মনে রাখবেন যে আপনার টার্মিনালে যদি ব্যাশ চলার অনেকগুলি উদাহরণ থাকে (আপনি একাধিক ট্যাব উল্লেখ করেছেন), আপনাকে প্রতিটি ক্ষেত্রে এটি চালাতে হবে।


3
sourcecsh- প্রাপ্ত। বোর্ন শেল উপায় . .bashrc
পল টমলিন

এটি আকর্ষণীয় যে আমি যখন সংজ্ঞা দিই তখন এটি কাজ করে না alias prg='prg.py'। আমাকে টার্মিনাল বন্ধ করতে হবে
xralf

"আপনাকে এটি প্রতিটি ক্ষেত্রে চালাতে হবে" " - নোট করুন যে zsh ব্যবহারকারীগণ যথাযথভাবে স্ট্যামের জন্য TMOUT এবং TrapALRM সেট করতে পারেন এবং (প্রয়োজনে) পুনরায় উত্স ~ / .zshrc প্রতি সেকেন্ডে একবার বা অন্য কোনও যুক্তিসঙ্গত বিরতিতে সেট করতে পারবেন। যদিও আমি বিশ্বাস করি না যে বাশ এটি করতে পারে।
কেভিন

6

. ~/.bashrcকমান্ড লাইনে টাইপিং চলবে .bashrcএবং সুতরাং সেই ফাইলে সংজ্ঞায়িত যে কোনও ফাংশন তৈরি করা হবে।

.bashrcএটির মধ্যে এই কোডটি থাকলে এটি নিজেই কল করবে এবং চালাবে .bash_aliases( যদি এটি বিদ্যমান থাকে) .bashrc:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

যদিও . ~/.bash_aliasesএকা ব্যবহার করার জন্য (উদাহরণস্বরূপ কমান্ড লাইনে) কেবলমাত্র .bash_aliases.bashrc জড়িত না করে চেষ্টা করে চালানো হবে এবং ফাইলটি উপস্থিত না থাকলে একটি ত্রুটি ঘটবে (সুতরাং যখন ফাইল চেক পরীক্ষা হবে তখন .bashrc)।


2

কখনও কখনও আপনি একটি উপনামকে একটি ফাংশনে রূপান্তর করতে চান তবে আপনি যখন বাশার্ক ফাইলটি উত্স করেন, তখন একটি অদ্ভুত ত্রুটি ঘটতে পারে:

. ~/.bashrc
bash: /home/username/.bashrc: line 38: syntax error near unexpected token `('
bash: /home/username/.bashrc: line 38: `hello_world() {'

এটি ঘটতে পারে কারণ উপনামের নামটি নতুন সংজ্ঞায়িত ফাংশনটির নামের সাথে সংঘর্ষ করছে। যতদূর আমি জানি, এড়াতে এটিকে সমস্ত কিছু আনালিয়াস করা দরকার, তারপরে বাশার্ক ফাইলটি উত্স করুন:

bash-4.3 $
unalias -a && . $HOME/.bashrc
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.