ম্যাক ওএস এক্স .বাশার্ক কাজ করছে না


77

.bashrcআমার হোম ডিরেক্টরিতে একটি লাইন ফাইল রয়েছে:

alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'

তবে এটি ওরফে তৈরি করছে না। কেন হতে পারে?

উত্তর:


101

ওএসএক্সে .bash_profileপরিবর্তে ব্যবহৃত হয় .bashrc

এবং হ্যাঁ, .bash_profileফাইলটি অবস্থিত হওয়া উচিত /Users/YourName/
(অন্য কথায়, ~/.bash_profile)

উদাহরণ স্বরূপ, /Users/Aaron/.bash_profile


11
এটি সঠিক উত্তর নয়। উপাধিগুলি উত্তরাধিকার সূত্রে প্রাপ্ত হয় না, সুতরাং, আপনি যদি কেবল তাদের .bash_ প্রোফাইলে সংজ্ঞায়িত করেন তবে লগ-ইন শেলগুলিতে সেগুলি সংজ্ঞায়িত করা হবে না (যেমন আপনি যখন ব্যাশের অভ্যন্তরে বাশ চালান)।
এলএসি

1
বা যে কেউ বাশ_আলিয়াস ব্যবহার করতে পারে যা বাশার্কে এলিয়াসগুলি রাখার মতো একই প্রভাব ফেলে তবে আরও পরিচালিত: ss64.com/osx/syntax-bashrc.html
অতুল ইনগল

4
আমার .বাশ_প্রোফাইলে আমি কেবল ওরশ (বাছাই) বাশার্ক ->source ~/.bashrc
এরিক হোডনস্কি

86

.[bash_]profileএবং .bashrcউভয় ওএস এক্স এবং লিনাক্সে ব্যবহার করা যেতে পারে। শেলটি লগইন শেল হলে পূর্বেরটি লোড হয়; পরে যখন এটি না। আসল পার্থক্যটি হ'ল লিনাক্স একটি লগইন শেল চালায় যখন ব্যবহারকারী কোনও গ্রাফিকাল সেশনে লগইন করে এবং তারপরে, আপনি যখন টার্মিনাল অ্যাপ্লিকেশনটি খোলেন, তখন এই শেলগুলি লগইনবিহীন শেল হয়; যদিও ওএস এক্স গ্রাফিকাল লগইন করে শেল চালায় না এবং আপনি যখন টার্মিনাল.এপ থেকে শেলটি চালান, এটি লগইন শেল।

যদি আপনি চান যে আপনার এলিয়াসগুলি লগইন এবং নন-লগইন উভয় শেলগুলিতে কাজ করতে চায় (এবং আপনি সাধারণত এটি করেন) তবে আপনার এটিকে .bashrc এবং উত্স .bashrc এ আপনার লাইভ লাইনের সাথে যুক্ত করা উচিত:

[ -r ~/.bashrc ] && source ~/.bashrc

এটি ব্যাশ ব্যবহার করে যে কোনও সিস্টেমে প্রযোজ্য।


15
ক্যাভিয়েট সহ +1 যে .bashrc এ থাকা সমস্ত কিছু আবার সাব-শেলগুলির জন্য (এবং সাব-সাব, সাবসুবসুব, ইত্যাদি) চালিত PATH=$PATH:/my/private/binariesহবে , সুতরাং যেমন প্যাথ ব্লাট হবে। দেখুন এই একটি ওয়ার্কঅ্যারাউন্ড জন্য।
গর্ডন ডেভিসন

2
সত্য। যেহেতু রফতানি দৃষ্টান্তের ভেরিয়েবলগুলি উত্তরাধিকার সূত্রে প্রাপ্ত হয়, তাই আমি কেবল সেগুলির .profileপরিবর্তে সেগুলিতে সেট করি .bashrc
এলএসি

1
@ ল্যাক আপনি কী ব্যাখ্যা করতে পারবেন_আর রফতানি হওয়া উদাহরণগুলি ভেরিয়েবলগুলি উত্তরাধিকার সূত্রে প্রাপ্ত, আমি কেবল সেগুলিতে সেট করেছি .profile_…?
স্যাম

1
@ স্যাম, "উদাহরণ" কোথা থেকে এসেছে তা আমি জানি না। আমি কেবল "এক্সপোর্টেড ভেরিয়েবল" বোঝাতে চাইছিলাম। দুর্ভাগ্যক্রমে আমি এই মন্তব্যটি সম্পাদনা করতে পারি না।
লাউ

2
@দিনোসর: "-আর" ফাইলটি পাঠযোগ্য কিনা তা পরীক্ষা করে।
mhvelplund

7

অথবা আপনার .bashrc এ .bash_profile পয়েন্ট নামের একটি সিম লিঙ্ক তৈরি করুন

ln -s .bashrc .bash_profile

2

এটিকে কোনও উপকরণ দেওয়া হচ্ছে না কারণ ম্যাক ওএস এক্সের .bash_profileপরিবর্তে ব্যবহৃত হয়.bashrc

সুতরাং আপনার কাছে দুটি বিকল্প রয়েছে:

  • উপন্যাসটি আপনার মধ্যে রাখুন ~/.bash_profile

  • অথবা আপনার .bashrcথেকে .bash_profileএই লাইনটি যুক্ত করে উত্স .bash_profile:

    . ~/.bashrc


1

উপর Mac OS X এর ইয়োসেমাইট , নিম্নলিখিত কমান্ডটি প্রয়োগ করুন:

vi ~/.profile

তারপরে নিম্নলিখিত লাইনটি যুক্ত করুন:

source ~/.bashrc

এখন সংরক্ষণ করুন এবং বন্ধ করুন .profile, তারপরে একটি নতুন টার্মিনাল উইন্ডো খুলুন বা কেবল চালান:

source ~/.profile

আরও দেখুন এই উত্তর । এটি v10.10.3 এ কাজ করেছে।


এটি চার বছর আগের উত্তরগুলির পুনরায় রিশেশনের চেয়ে একটু বেশি।
জি ম্যান

অবশ্যই, এটি পড়ার এবং প্রয়োগ করার জন্য কেবল একটি সহজ আই। প্লাস একটি ছোট অবদান - যেহেতু অন্যান্য উল্লিখিত ফাইলগুলি আমার ওএস ইয়োসেমাইটে উপলব্ধ ছিল না।
রিকার্ডো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.