আমার হোম ডিরেক্টরিতে কোনও বাশার্ক ফাইল নেই


14

আমি আমার বক্তৃতাটি থেকে যা লিখেছি তা এখানে:

  • .bashrcআপনার হোম ডিরেক্টরিতে ফাইল সন্ধান করুন
  • করা vi .bashrc
  • আপনি যখন কোনও অ্যাপ্লিকেশন ফোল্ডার কোথাও রেখেছেন, তা নিশ্চিত করুন যে এর ঠিকানাটি পাথের ভেরিয়েবলের মধ্যে রয়েছে।

সমস্যাটি হ'ল .bashrcআমার হোম ডিরেক্টরিতে আমার কোনও ফাইল নেই। .bash_historyআমার বাড়িতে কেবল একটি ফাইল আছে।

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

উত্তর:


20

ভুলে যাবেন না এটি আপনার হোম ডিরেক্টরি ডিরেক্টরিতে লুকানো ফাইল (আপনি প্রথমে কোনও কাজ করবেন না ls -lএবং ভাবছেন যে এটি সেখানে নেই)।

অনুসরণ করুন ...

ls -la ~/ | more

.bashrcপ্রথম পৃষ্ঠায় একটি থাকা উচিত । না হলে এটি তৈরি করুন

vi ~/.bashrc

এবং কেবল এটিতে নিম্নলিখিত লাইন লিখুন।

PATH=$PATH:~/bin

বা বেশিরভাগ বিতরণ একটি স্ট্যান্ডার্ড .bashrcফাইল রাখে /etc/skel/আপনি এটি হোম ডিরেক্টরিতে অনুলিপি করতে পারেন।

$cp /etc/skel/.bashrc ~

ঠিক আছে আমি এখন এটি পেতে। অন্যান্য কম্পিউটারে আমি লেগো টাইপ করতে পারি এবং সফ্টওয়্যারটি শুরু হয়। আমার সিস্টেমে, লেগো ফোল্ডারটি আমার ~/data/user1/binফোল্ডারে রয়েছে। আমি এই পাথটি .bashrc ফাইলটিতে যুক্ত করেছি। এখন আমার কী করতে হবে যাতে আমি যখন লেগো টাইপ করি তখন এটি সফ্টওয়্যারটি শুরু করা উচিত? আমার কি কোনও উপনাম স্থাপন করতে হবে? যদি হ্যাঁ, কিভাবে? alias lego='<What do i put here???>'

@ ডেট্রাভেলার আপনি কি ফাইলের ~/data/user1/binমধ্যে আপনার প্যাথ পরিবেশ পরিবর্তনশীল যুক্ত করেছেন .bashrc? (এই লাইনটি যুক্ত করুন export PATH=$PATH:~/data/user1/bin:) - যদি তা হয় তবে আপনার কেবলমাত্র legoটার্মিনালটিতে টাইপ করতে সক্ষম হওয়া উচিত এবং প্রোগ্রামটি শুরু হওয়া উচিত।
এসিআইডি

আমি কেবল যুক্ত PATH=$PATH:~/data/user1/bin। আপনি রফতানির কথা উল্লেখ করেননি তাই আমি এটি সেখানে রাখিনি। আমি কাল ইউনিতে গেলে আবার চেষ্টা করব।
ডিজিট্রাভেলার

তবে আমি ভাবছিলাম যে আমি কীভাবে বাশকে বলতে পারি যে legoএটি শব্দটি যা সফ্টওয়্যারটি শুরু করে?
ডিজিট্রাওলার

11

বেশিরভাগ বিতরণ আপনার কাছে একটি স্ট্যান্ডার্ড .bashrcফাইল রাখে /etc/skel/কেবল আপনার বাড়ির দির কাছে অনুলিপি করতে। অন্যথায় আপনি কেবল .bashrcআপনার বাড়ির দিরে একটি নতুন খালি ফাইল তৈরি করতে পারেন ।


4

ইন্টারেক্টিভ শেলগুলির জন্য আপনার নিজস্ব স্টার্টআপ ফাইল তৈরি করুন

বাশ স্টার্টআপ ফাইল সম্পর্কে

এর আমন্ত্রণ বিভাগ থেকে man 1 bashবলেছেন:

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

নোট করুন যে এই স্টার্টআপ ফাইলগুলি al চ্ছিক ; বাশ তাদের প্রয়োজন হয় না। লগইন শেল এবং ইন্টারেক্টিভ শেলগুলির মধ্যেও ব্যাশ পৃথক করে। একটি ইন্টারেক্টিভ শেল এইভাবে সংজ্ঞায়িত করা হয়:

একটি ইন্টারেক্টিভ শেলটি হ'ল নন-বিকল্প যুক্তি ছাড়াই এবং -c বিকল্প ছাড়াই যার স্ট্যান্ডার্ড ইনপুট এবং ত্রুটি উভয়ই টার্মিনালের সাথে সংযুক্ত (ইসটিটি (3) দ্বারা নির্ধারিত), বা একটি -i বিকল্প দিয়ে শুরু হয়েছিল।

অনেকগুলি ডিস্ট্রিবিউশনগুলি অন্য ধরণের স্টার্টআপ ফাইলের উত্স উত্স থেকে থাকে, তবে কিছু কিছু না, তাই এই সমস্যাটি সাধারণভাবে সমাধান করা কঠিন। আপনার সিস্টেমে কখন এবং কখন ~/.bashrcআপনাকে ডাকা হবে তা দেখার জন্য আপনাকে আপনার সমস্ত স্টার্টআপ ফাইলগুলি পরীক্ষা করতে হবে ।

আপনার প্রতি ব্যবহারকারী ইন্টারেক্টিভ শেল স্টার্টআপ ফাইল তৈরি করা হচ্ছে

আপনি যদি কেবল কোনও ব্যবহারকারী-নির্দিষ্ট ~/.bashrcফাইল মিস করেন তবে কেবল একটি তৈরি করুন। এটি নন-লগইন শেলগুলির জন্য বাশ দ্বারা আহ্বান করা হবে (যেমন --loginপতাকা ছাড়াই শেলস শুরু হয়েছে ), বা আপনি যখনই শেলটিকে -iপতাকাটির সাথে ডাকার মাধ্যমে ইন্টারেক্টিভ হতে বাধ্য করেন ।


0

আপনার যদি এটি না থাকে তবে আপনি .bashrcকেবল একটি তৈরি করতে এবং এতে আপনার ইচ্ছুক লাইনগুলি যুক্ত করতে পারেন, যেমন:

PATH=$PATH:~/bin

আপনার ব্যবহারকারীর বিন ডিরেক্টরিটিকে পথের শেষে যুক্ত করতে।

তবে অন্য স্টার্টআপ ফাইলগুলি থাকলে আপনার সাবধান হওয়া উচিত । কী ফাইল ব্যবহার করা হয় সে সম্পর্কে বিধিগুলি জটিল তবে এগুলি bashম্যান পৃষ্ঠায় বিশদভাবে রয়েছে । man bashকমান্ড লাইনে প্রবেশ করুন এবং সন্ধান করুন INVOCATION


0

ছোট উত্তর:

  1. find ~ -maxdepth 1 -name '.bashrc'
  2. vi ~/.bashrc
  3. echo $PATH | grep ~/MyNewCoolProgramFolder

বিস্তারিত একটি:
আমি আরও ঘনিষ্ঠ আক্ষরিক ব্যাখ্যা নিই।

  1. "আপনার হোম ডিরেক্টরিতে ফাইল .Bashrc অনুসন্ধান করুন"
    যেহেতু এটি কমান্ডটি বিদ্যমানfind, তাই বিশ্বাসঘাতক সম্পাদক আপনাকে এটি ব্যবহার করার পরামর্শ দিবেন:

    find ~ -maxdepth 1 -name '.bashrc'

    হোম ডিরেক্টরিতে অনুসন্ধান করুন ~, কেবলমাত্র এক স্তরের (কোনও সাবডির নেই -maxdepth 1) অবতরণ করুন । সমস্ত অপশন জন্য লিখুন man find
    ইচ্ছার নীচের লাইনটি ন্যূনতম কাজ করবে

    ls ~/.bashrc   

    দ্রষ্টব্য: যদি ~/.bashrcঅস্তিত্ব না থাকে তবে আপনি এটিকে একটি সাধারণ দিয়ে তৈরি করতে পারেনecho >> ~/.bashrc

    >>বিদ্যমান না যদি ফাইলটি তৈরি করবে। যদি ~/.bashrcপরিবর্তে বিদ্যমান এটা খালি একমাত্র নিরীহ আউটপুট যোগ হবে echo, একটি অনিচ্ছাকৃত মুছে ফেলার একটি যেমন সমালোচনামূলক ফাইল, যে প্রসঙ্গক্রমে কঠিন একটি ব্যাকআপ ছাড়া পুনঃস্থাপন এড়ানো।

    (নিম্নলিখিতটি হ'ল খুব কমই আমাকে আমার ডাক নামটির অর্থ সম্মান করতে হবে, যদি আপনি সন্দেহ হন তবে মৃত্যুদণ্ড কার্যকর করবেন না)।

    if [ ! -f ~/.bashrc ] ; 
      then
         cp -i /etc/skel/.bashrc ~/.bashrc ;
      else ls -la ~/.bashrc; 
    fi || echo " # Auto Generated " >> ~/.bashrc
  2. "করুন vi .bashrc"
    এখন আপনি যা করতে পারেনvi ~/.bashrc, এখানে ফাঁদটি হ'ল আপনাকে টিপতে হবে:এবংqপ্রস্থান করতে হবে!

  3. অ্যাপ্লিকেশন ফোল্ডার এবং$PATH
    আপনি যখন কোনও অ্যাপ্লিকেশন ফোল্ডার তৈরি করেন, উদাহরণস্বরূপ~/MyNewCoolProgramFolder, নীচের লাইনটি কেবল এটিতে রয়েছে কিনা তা পরীক্ষা করবে$PATH:

    echo $PATH | grep ~/MyNewCoolProgramFolder

    ইতিমধ্যে উপস্থিত থাকলে আপনাকে যুক্ত করার দরকার নেই। প্রয়োজনে আপনার $PATHসাথে যোগ করতে পারেন

    PATH=$PATH:~/MyNewCoolProgramFolder

    এবং ~/.bashrcযদি আপনি এটি স্থায়ী করতে চান তবে সেই লাইনটি যুক্ত করুন ।

  4. "4?!? কিভাবে 4 যদি কেবল 3 পয়েন্ট থাকত?" - ওয়ার্কআরাউন্ডস।
    পরবর্তীকালের জন্য কিছু কাজের ক্ষেত্র রয়েছে; ধরা যাক নামের এক এক্সিকিউটেবল ফাইলটিCoolDetravellerকেবলমাত্র আপনার নতুন অ্যাপ্লিকেশন ফোল্ডারে বিদ্যমান:

    (ক) আপনি এটি কার্যকর করার চেষ্টা করতে পারেন। এটি এটিতে না থাকলে কেবল এটি শুরু হবে না $PATH

    কুলডেট্রাভেলার: কমান্ডটি পাওয়া যায় নি

    (খ) আপনি এর স্বয়ংক্রিয় সমাপ্তি চেষ্টা করতে পারেন । লিখতে শুরু করুন CoolDetravelleএবং টিপুন Tab। এটিতে থাকলে এটি $PATHস্বয়ংক্রিয়ভাবে সম্পন্ন হবে (সর্বদা স্বতঃসমাপ্তি সক্ষম করা থাকলে)।

    (গ) আপনি বাশ শেলকে জিজ্ঞাসা করতে পারেন whichকমান্ডটি লিখলে ব্যবহৃত হবে CoolDetraveller

        which CoolDetraveller

    নোট: নেই আপনার আবেদন পথে যদি এক বা একাধিক স্পেস, whichখুঁজে পেতে অসমর্থ হতে পারে CoolDetraveller, যদিও (এখানে আমি আমার ডাক নাম আবার সম্মান) স্বয়ংক্রিয় সমাপ্তি এর CoolDetravellerযেমন একটি বৈধ পরামিতির whichকমান্ড কাজ করবে!

    অ্যাড বমিভাব : আপনি জিজ্ঞাসা করতে পারেন নাwhereis CoolDetravellerকারণwhereis

    একটি হার্ড-কোডেড পথ রয়েছে, তাই আপনি যা খুঁজছেন তা সর্বদা না খুঁজে পেতে পারে

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