* NIX - মেশিন চলাকালীন কেবলমাত্র একটি পরিবর্তনশীল এক্সপোর্ট করছে?


3

আমি জানি যে আমি একটি পরিবর্তনশীল সেট করতে পারি, 'ভেরিয়েবল' এক্সপোর্ট করতে এবং আমার .bash_rc ফাইলে একটি উপনাম বিবৃতি দিতে পারি।

তাই:

যখন আমি একটি পরিবর্তনশীল সেট করি তখন এটি কেবল সেই সেশনের জন্য স্থায়ী হয় এবং অন্যান্য সেশনে দৃশ্যমান হয় না, ঠিক?
তারপর যখন আমি এটি রপ্তানি করি তখন এটি অন্য শেল সেশনগুলিতে দৃশ্যমান হয় (এটি কি কেবল 'নতুন' সেশনগুলিতেই হয়?
বিদ্যমান সেশন পুনরায় লোড বা এটি পেতে কিছু করতে পারেন?)
সবচেয়ে সমালোচকদের যে রপ্তানি একটি রিবুট মাধ্যমে 'থাকার' করে?
অথবা যখন .bashrc ফাইলটি চলতে যাচ্ছে ভেরিয়েবলগুলির 'সত্যিই' স্থায়ী সেটিংসের জন্য?
অবশেষে উবুন্টু এবং ম্যাকের মধ্যে কোন পরিচিত পার্থক্য?

উত্তর:


3

আপনি সম্পর্কে সঠিক .bashrc। প্রাথমিক বুটে, ওএসটি যা পড়ছে তা ছাড়া পরিবেশের ভেরিয়েবলগুলির কিছুই জানে না .profilerc, .bashrc, .inputrc, ইত্যাদি এবং কিছু export এড কেবলমাত্র সেই ফাইলগুলির মধ্যে থাকা অবস্থায় বর্তমান সেশনের জন্য স্থায়ী হয়।

যদি এই ফাইলগুলির মধ্যে একটিতে যোগ করা হয় এবং আপনি তা অবিলম্বে কার্যকর করতে চান তবে চালান:

source .bashrc

বা:

. /etc/bashrc

ইত্যাদি ...


সম্পাদনা (@ থোমাস অ্যান্ড্রুস মন্তব্য থেকে যোগ করা):

যাইহোক, এটি শুধুমাত্র বর্তমান সেশনের (টার্মিনাল উইন্ডো) জন্য env ভেরিয়েবলগুলি পরিবর্তন করে যা আপনি এটি চালান। বোঝার চাবিটি বুঝতে হয় যে সন্তানের প্রক্রিয়া শুরু হওয়ার সময় পরিবেশের ভেরিয়েবলগুলি পিতামাতার প্রসেস থেকে শিশু প্রক্রিয়াতে উত্তরাধিকারসূত্রে প্রাপ্ত।


@ মাইকেল ডুরান্ট এনপি, সাহায্য খুশি।
chown

এই ফাইলগুলিকে পরিবর্তন করা বর্তমানে যে কোনও প্রক্রিয়াটিকে প্রভাবিত করে না তা উপলব্ধি করার জন্য সতর্ক থাকুন। এটি কেবল ভবিষ্যতের প্রক্রিয়াগুলিকে প্রভাবিত করে এবং এটি কীভাবে প্রক্রিয়াগুলি শুরু হয় তার উপর নির্ভর করে।

@ থমাস অ্যান্ড্রুস সঠিক, আপনি যদি না source .bashrc
chown

@ চালিত এবং তবুও এটি শুধুমাত্র টার্মিনাল উইন্ডোতে পরিবর্তন করে যা আপনি এটি চালান। বোঝার চাবি হল সন্তানের প্রক্রিয়া শুরু হওয়ার সময় পরিবেশের ভেরিয়েবলগুলিকে প্যারেন্ট প্রসেস থেকে সন্তানের প্রক্রিয়া থেকে উত্তরাধিকারসূত্রে উত্তরাধিকারসূত্রে প্রাপ্ত করা হয় এবং শিশু প্রক্রিয়াটি পরিবর্তন করার একমাত্র উপায়টি স্পষ্টভাবে সেই প্রক্রিয়াতে পরিবর্তনশীল সেট করা।

1

প্রথমত, আপনি কোন শেলটি ব্যবহার করছেন তা নির্ধারণ করতে হবে। এটা কর:

$ echo $0
-bash

এখন আপনার শেলের জন্য ম্যান পৃষ্ঠাগুলি পরীক্ষা করুন:

$ man bash
<man pages>

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


0

আপনি আপনার প্রোফাইলে রপ্তানি বিবৃতি যুক্ত করতে পারেন ( http://www.hot.ee/airm/linux/BLFS6.3/postlfs/profile.html )

কিছুটা এইরকম:

echo 'export PATH=/usr/local/my/bin:$PATH' >> ~/.profile

নিশ্চিত, কিন্তু একটি PROFILE কি?
ObscureRobot

এবং, আবার, এটি কোন বিদ্যমান প্রক্রিয়া পরিবর্তন করে না, এটি নিশ্চিত করে যে পরবর্তী সময় আপনি লগ ইন করতে পরিবেশ পরিবর্তনশীল সেট করবেন।

0

* নিক্স ইন, পরিবেশ ভেরিয়েবল প্রতি-প্রক্রিয়ার ভিত্তিতে হয়। শিশু প্রক্রিয়াকরণের সময় শিশু প্রসেসগুলি তাদের পিতা-মাতা প্রক্রিয়া পরিবেশের পরিবর্তনশীল মান অর্জন করে।

সুতরাং, যদি আপনি একটি শেল থেকে একটি পরিবর্তনশীল এক্সপোর্ট করেন তবে বলুন, সেই পরিবেশগত পরিবর্তনটি শুধুমাত্র শেল প্রক্রিয়াটিকে প্রভাবিত করে এবং যে শেল থেকে যে কোনও প্রক্রিয়া শুরু হয়।

এটি উইন্ডোজ এ পরিবেশের ভেরিয়েবলগুলির থেকে ভিন্ন, যেখানে নিয়ন্ত্রণ প্যানেল থেকে সেট করা হলে তারা অবশ্যই বিশ্বব্যাপী এবং স্থায়ী। (নীচের মন্তব্য প্রতি সম্পাদিত।)

সাধারণত, আপনি যদি শুরু করতে পারেন এমন প্রতিটি প্রক্রিয়াটির জন্য একটি পরিবেশের পরিবর্তনশীল সেট করতে চান, তবে আপনি এটি আপনার লগ ইন স্ক্রিপ্টে রাখেন, যেমন। Bash_profile (যদি bash আপনার শেল হয়।)

(.Bashrc ফাইলটি প্রতিটি শেলের সাথে লোড হয়ে যায়, যা আপনি চান বা আপনি চান না - যদি আপনি অন্য মান সেট করেন এবং তারপর "bash" চালান, তবে আপনি কি চান .bashrc আপনার নতুন মানকে ওভাররাইড করতে? Bash_profile পায় লগইন দিয়ে ডাকা হয়। কোনও পরিবেশ পরিবর্তনশীল রাখতে সঠিক জায়গা হতে পারে।)


উইন্ডোজ এনভায়রনমেন্ট ভেরিয়েবল শুধুমাত্র বিশ্বব্যাপী যদি আপনি নিয়ন্ত্রণ প্যানেলের মাধ্যমে বিশ্বব্যাপী সেট করেন। আপনি যদি cmd উইন্ডোতে পরিবেশ ভেরিয়েবল সেট করেন তবে তারা সেই উইন্ডোতে স্থানীয় থাকবে।
ObscureRobot

আহ, অবশ্যই। আমার উইন্ডোজ জ্ঞান ধুলো শুকিয়ে গেছে। :)

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