ম্যাক ওএস এক্স স্নো চিতাবাঘ এবং সিংহটিতে .bashrc ফাইলটি কোথায় পাবেন?


89

আমি আমার স্নো লেপার্ড মেশিনে আরভিএম ইনস্টল করতে চাই।

এটি বলেছে যে আমার .bashrcফাইলটিতে আমি একটি লাইন যুক্ত করতে হবে (আমি ব্যাশ ব্যবহার করছি) তবে আমার .bashrcফাইলটি কোথায়?


1
আপনার সমাধানটি একটি উত্তরে রাখা উচিত এবং তা গ্রহণ করা উচিত (এসইউ আপনাকে অনুমতি দেওয়ার আগে আপনাকে এক বা দু'দিন অপেক্ষা করতে হবে) একই সমস্যার লোকেরা যেভাবে প্রশ্নের দিকে নজর দিতে পারে তা দেখতে পারে যে এর একটি উত্তর রয়েছে।
নিফলে

1
তার সমাধান শীর্ষ ভোট দেওয়া উত্তরের চেয়ে আলাদা নয় ..
ডেভিড কাউডেন

কেবল নিশ্চিত করার জন্য, এটি "লিনাক্স = .বাশার্ক বনাম ম্যাক ওএস =। (বাশ_) প্রোফাইলের কোনও সমস্যা নয়" শেল স্টার্টআপ ফাইলগুলি লিনাক্স এবং ম্যাকের ক্ষেত্রে একই কাজ করে এবং .bashrc ফাইলটি অধিবেশনটির জন্য আরও অপ্রোপিত স্থান place নির্দিষ্ট সেটিংস আপনি উদাহরণস্বরূপ tmux বা পর্দা ব্যবহার করেন আপনার লগইন সেশন নাও থাকতে পারে তবে এখনও আপনার এলিয়াস চান। ম্যাকের আলাদা মনে হওয়ার কারণ হ'ল বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনগুলি শিপ সিস্টেম প্রোফাইল স্ক্রিপ্ট বা কঙ্কাল প্রোফাইল যা ইতিমধ্যে (উত্স) বাশার্ককে প্রতিনিধিত্ব করে।
২২

উত্তর:


78

.bashrcউপরের সমস্যা সম্পর্কে :

বেশিরভাগ সিস্টেমে ~/.bashrcকেবল ইন্টারেক্টিভ অ-লগইন শেল শুরু করার সময় ব্যবহৃত হয় । তবে, আপনি যখন নতুন শেল শুরু করবেন এটি প্রায়শই একটি ইন্টারেক্টিভ লগইন শেল হয় । যেহেতু এটি লগইন শেল, তাই .bashrcএটি উপেক্ষা করা হবে। পরিবেশ অ লগইন এবং লগইন শাঁস মধ্যে সামঞ্জস্যপূর্ণ রাখতে, আপনি উৎস আবশ্যক .bashrcআপনার থেকে .profileঅথবা আপনার .bash_profile

বাশ রেফারেন্স ম্যানুয়াল দেখুন বিভাগ 6.2 বাশ স্টার্টআপ ফাইলগুলি

ইন্টারেক্টিভ লগইন শেল হিসাবে, বা - লগিন সহ আমন্ত্রিত

যখন বাশকে একটি ইন্টারেক্টিভ লগইন শেল হিসাবে, বা - লগিন বিকল্পের সাথে একটি অ-ইন্টারেক্টিভ শেল হিসাবে ডাকা হয়, এটি প্রথমে ফাইল / ইত্যাদি / প্রোফাইল থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে, যদি সেই ফাইলটি বিদ্যমান থাকে। এই ফাইলটি পড়ার পরে, এটি সেই ক্রমে ash / .bash_profile, ~ / .bash_login, এবং ~ /। প্রোফাইলে অনুসন্ধান করে এবং উপস্থিত এবং পঠনযোগ্য যা প্রথমটি থেকে আদেশগুলি পড়ে এবং কার্যকর করে।

ইন্টারেক্টিভ অ-লগইন শেল হিসাবে আহ্বান করা হয়েছে

লগইন শেল নয় এমন একটি ইন্টারেক্টিভ শেলটি যখন শুরু হয়, বাশ file / .bashrc থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে, যদি সেই ফাইলটি বিদ্যমান থাকে।

সুতরাং, সাধারণত আপনার ~ / .bash_ প্রোফাইলে লাইন থাকে

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

যেকোন লগইন-নির্দিষ্ট সূচনা (বা তার আগে) পরে।

আমার ম্যাকে (চিতাবাঘের চলমান), উত্সের কোনও লাইন ছিল না ~/.bashrc। আমার নিজের থেকে এই কার্যকারিতাটি যুক্ত করতে হয়েছিল।

কিছু সিস্টেম এবং অন্যান্য ওএসে, .bashrcবিশ্বব্যাপী থেকে উত্সাহিত হয় /etc/profileবা /etc/bash_profile, থেকে টেমপ্লেট ফাইলগুলি ব্যবহার করে করা হয় /etc/skel

সত্যিকারের মধ্যে পার্থক্যটি .bashrcএবং .bash_profileসম্প্রদায়টি ভালভাবে বোঝে না। যখন অনেক বিকাশকারী "এটিকে আপনার .bashrc এ যুক্ত করুন" বলছেন, তখন তাদের সত্যিকারের অর্থ "এটি আপনার .bash_profile এ যুক্ত করুন"। তারা চায় যে আপনার লগইন শেলটিতে (যা .bash_profile) আপনার কার্যবিবরণী যুক্ত করা হোক, আপনার লগ -ইন শেলটিতে নয়। বাস্তবে, এটি সাধারণত কোনও বিষয় নয় এবং কনফিগারেশন স্থাপনের ক্ষেত্রে .bashrcএটি গ্রহণযোগ্য।


এই লিঙ্কটি শেলগুলির ধরণের এবং স্টার্টআপ ফাইলগুলি লোড করার সময় একটি ভাল ওভারভিউ দেয় - হ্যাকটাক্স.com
bash

এখানে "উত্সাহিত" বলতে কী বোঝায়?
এলগ্রেগো

@ এলগ্রেগো, এখানে একটি ভাল বিবরণ রয়েছে: যখন কোনও ফাইল সোর্স করা হয় (কমান্ড লাইনে সোর্স ফাইলের নাম অথবা ফাইল নাম টাইপ করে), ফাইলে কোডের লাইনগুলি কার্যকর করা হয় যেন তারা কমান্ড লাইনে মুদ্রিত হয়েছিল। Tldp.org/HOWTO/Bash-Prompt-HOWTO/x237.html
স্টেফান লাসিউইস্কি

60

সুতরাং দেখা যাচ্ছে যে ম্যাক ওএস এক্স স্নো চিতাবাঘের পাশাপাশি ম্যাক ওএস এক্স সিংহকে বোঝানো ফাইলটিকে বলা হয় .profile, না .bashrc

আপনি যা করতে চান তা হ'ল একটি ফাইল তৈরি করুন ~/.profileএবং কল করুন। প্রোফাইলে (যদি এটি ইতিমধ্যে বিদ্যমান না থাকে)।

বাশের প্রতিটি উদাহরণ সহ লোড করার জন্য আপনার প্রয়োজনীয় তথ্যগুলি সেখানে রাখুন (ধন্যবাদ, থেরাপেলপিক্সেল)।

দু'পক্ষের নোট:

  1. ফাইলের সামনের সময়কালটি এটি ফাইন্ডারের কাছে অদৃশ্য হিসাবে চিহ্নিত হয় এবং ডিফল্টরূপে ls কমান্ড। টার্মিনাল থেকে ls কমান্ড ব্যবহার করে অদৃশ্য ফাইলগুলি তালিকাভুক্ত করতে, -aপ্যারামিটার হিসাবে যেমন ব্যবহার করুন :ls -a
  2. ~প্রতীক ঘোরা /Users/YourUserNameযেখানে YourUserName আপনার ব্যবহারকারী নাম এর SHORTNAME হয়।

সম্পাদনা করুন: ক্রিস পৃষ্ঠার নোট (সঠিকভাবে) যে আপনি একটি প্রফাইলে ফাইলের মধ্যে যা কিছু রাখুন তা আপনি যে কোনও শেল ব্যবহার করছেন (যেমন zhs, বাশ, এবং সিটিরা) প্রযোজ্য। আপনি যদি বিষয়বস্তুগুলি কেবল ব্যাশ শেলকে প্রভাবিত করতে চান তবে সামগ্রীগুলি কোনও .bash_profileফাইলের পরিবর্তে কোনও .profileফাইলে রাখুন।


5
আপনার প্রশ্নের উত্তর [সঠিকভাবে] জুন 1 2010 এ দেওয়া হয়েছিল - আপনি এটি জিজ্ঞাসার একদিন পরে। এক বছর পরে, আপনি ফিরে এসে ঠিক একই উত্তরটি সরবরাহ করবেন এবং নিজের উত্তরটি স্বীকার করবেন ...
ডেভিড কাউডেন

3
প্রকৃতপক্ষে তাঁর উত্তরটি 1 ই জুন, 2010 এ দেওয়া উত্তরের চেয়ে আরও বিশদ যুক্ত করেছে He তিনি ম্যাক ওএস এক্সে এই সমস্যাটি বিশেষভাবে সম্বোধন করেছেন যা আমি সহায়ক বলে মনে করেছি।
ওয়েবকৃমি

3
মনে রাখবেন যে যদি .bash_profileআপনার হোম ডিরেক্টরিতে ইতিমধ্যে উপস্থিত থাকে, তবে .profileফাইলটি পড়বে না!
ফানি

আমার কাছে ম্যাক ওস এল ক্যাপিটেনের একটি নতুন ইনস্টল রয়েছে। কোনও প্রোফাইল ফাইল নেই। কেবলমাত্র একটি। প্রোফাইল ফাইল তৈরি করুন এবং এটি কাজ করে। আমি ব্যক্তিগতভাবে আমার .bashrc নামকরণ করে। প্রোফাইল।
নিকোলাস থেরি

4

আপনাকে নিজের তৈরি করতে হবে .bashrc। আপনি .bashrcনিজের পছন্দসই বিষয়বস্তু সহ একটি ফাইল (কোনও এক্সটেনশন নয়) তৈরি করতে একটি পাঠ্য সম্পাদক ব্যবহার করতে পারেন এবং এটি আপনার হোম ডিরেক্টরিতে ( /Users/YourUserName/) সংরক্ষণ করতে পারেন ।


1
আসলে, এটি কাজ করে না, তবে আপনি আমাকে আমার নিজের ফাইল তৈরি করতে বলে আমাকে সঠিক দিকে পাঠিয়েছিলেন। স্নো লেপার্ড কনফিগারেশনে যে ফাইলটি কাজ করেছিল সেটি হ'ল প্রোফাইলে, .bashrc নয় (যা কোনও কারণে এই ওএসে লোড হয়নি)। আমি প্রশ্নের বিস্তারিত নির্দেশাবলী পোস্ট করব। ধন্যবাদ!
যুওয়াল

@ ইউভাল: ডিফল্টরূপে, একটি .bashrcকাজ করবে, তবে কেবল যদি তা না থাকে .profile~/.profileযদিও আমার ধারণা ডিফল্টরূপে আছে। আমি সাহায্য করতে পেরে আনন্দিত! (এবং আপনার উত্তরটি সমাধান করা উচিত এবং এই প্রশ্নের ভবিষ্যতের পাঠকদের জন্য এটি গ্রহণ করা উচিত)।
শে

আমি মনে করি কেবলমাত্র প্রফাইলে ভুল না থাকলে আপনার মন্তব্য সম্পর্কে । .bashrc একটি ইন্টারেক্টিভ নন-লগইন শেলের মধ্যে কাজ করবে, বা যদি এটি প্রোফাইলে থেকে উত্সাহিত হয় (.bash_profile সম্ভবত একটি ভাল জায়গা, যেহেতু। প্রোফাইলটি বোর্ন শেলটির জন্য)। .আরফ-ফাইলটি একটি ইন্টারেক্টিভ অ-লগইন শেল চলাকালীন ব্যবহৃত হয়।
স্টেফান লাসিউইস্কি

@ স্টেফান ঠিক আছে, আমি কোনও বিশেষজ্ঞ নই :)
স্কয়ার্কে

2
কেউ না ;). এই স্টাফ (.bashrc বনাম .প্রফাইল বনাম .বাশ_প্রোফিল বনাম .বাশ_লগিন বনাম। ইন্টারেক্টিভ লগইন শেল বনাম ইন্টারেক্টিভ নন-লগইন শেল বনাম নন-ইন্টারেক্টিভ শেল) বিভ্রান্তিকর, এবং এটি অনেকগুলি ইউনিক্স এবং শেল স্ক্রিপ্টগুলির দ্বারা ভেঙে যায় এবং ওভাররাইড হয়।
স্টিফান লাসিউস্কি

3

আমি দেখতে পেয়েছি যে আমার ওএস 10.6.5 এ বাশ সেটিংস "/ etc / bashrc" এ আছে। আমি মনে করি এটি শেলের জন্য শীর্ষ স্তরের বৈশিষ্ট্য।

তবে এটিকে পরিবর্তন করতে আপনার একটি রুট অ্যাকাউন্ট প্রয়োজন। স্থানীয় প্রতি ব্যবহারকারী স্পেসিফিকেশন "~ / .bashrc" সিস্টেম-স্তরের বাশ সেটিংস পড়তে এবং লোড করতে নিম্নলিখিত স্নিপেট দিয়ে শুরু করা উচিত:

if [ -r /etc/bashrc ]; then
    . /etc/bashrc 
fi

আমি সাধারণত সিস্টেম স্তরের বাশার্কে এলিয়াস যুক্ত করি যাতে সমস্ত ব্যবহারকারীরা সেগুলিও অ্যাক্সেস করতে পারে। যদি না তারা আপনার শর্টকাট এবং উপাত্ত ব্যবহার করতে চায় না।

শুভকামনা!


2
/ ইত্যাদি / প্রোফাইল (লগইন শেল দ্বারা চালিত) হ'ল একটি গ্লোবাল ব্যাশ স্টার্টআপ স্ক্রিপ্ট যা সমস্ত ব্যবহারকারীর জন্য প্রযোজ্য এবং লগইন শেলগুলির জন্য ডিফল্ট আচরণ সরবরাহ করে। এটি পরিবর্তিতভাবে চালিত হয় / ইত্যাদি / বাশার্ক, এতে কাস্টমাইজেশন রয়েছে যা লগইন এবং নন-লগইন শেল উভয়ের জন্য প্রযোজ্য। একইভাবে, পৃথক ব্যবহারকারীদের একটি ~ / .bash_profile ফাইল তৈরি করা উচিত যা ~ / .bashrc চালায়, যেখানে বেশিরভাগ কাস্টমাইজেশন হওয়া উচিত এবং লগ-ইন শেলগুলির জন্য ডিফল্ট আচরণের উত্তরাধিকারী করতে etc / .bashrc / etc / bashrc চালানো উচিত।
ক্রিস পেজ

1
পৃথক ব্যবহারকারীদের জন্য, আপনার হোম ডিরেক্টরিতে এই কাস্টমাইজেশন যুক্ত করা ভাল ~/.bashrc, না /etc/bashrc/etc/bashrcআপনার সিস্টেমে সমস্ত ব্যবহারকারীর জন্য বিশ্বব্যাপী সেটিংস হ'ল যা সম্ভবত আপনি চান তা নয়। এছাড়াও, অ্যাপল আসতে পারে এবং /etc/bashrcপর্যায়ক্রমে পরিবর্তন হতে পারে যা আপনার কাস্টমাইজেশনকে দূরে রাখতে পারে।
স্টিফান লাসিউইস্কি

1

আপনি একটি লিনাক্স .bashrc ফাইলে যে কোনও কিছু যুক্ত করতে চাইলে। প্রোফাইল ফাইলটি ব্যবহার করুন।

উদাহরণ স্বরূপ

PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit" 

2
আপনি যদি আপনার কাস্টমাইজেশনগুলি অন্যান্য শেলগুলিতে কার্যকর করতে চান এবং সেগুলি সামঞ্জস্যপূর্ণ না হয় তবে আপনি ~ / .bash_profile (~ /। প্রোফাইলের পরিবর্তে) ব্যবহার করার পরামর্শ দিচ্ছি।
ক্রিস পেজ

কেবল নিশ্চিত করার জন্য, এটি "লিনাক্স = .বাশার্ক বনাম ম্যাক ওএস =। (বাশ_) প্রোফাইলের কোনও সমস্যা নয়" শেল স্টার্টআপ ফাইলগুলি লিনাক্স এবং ম্যাকের ক্ষেত্রে একই কাজ করে এবং .bashrc ফাইলটি অধিবেশনটির জন্য আরও অপ্রোপিত স্থান place নির্দিষ্ট সেটিংস আপনি উদাহরণস্বরূপ tmux বা পর্দা ব্যবহার করেন আপনার লগইন সেশন নাও থাকতে পারে তবে এখনও আপনার এলিয়াস চান। ম্যাকের আলাদা মনে হওয়ার কারণ হ'ল বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনগুলি শিপ সিস্টেম প্রোফাইল স্ক্রিপ্ট বা কঙ্কাল প্রোফাইল যা ইতিমধ্যে (উত্স) বাশার্ককে প্রতিনিধিত্ব করে।
২২
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.