আমি কীভাবে পরিবেশের ভেরিয়েবল যুক্ত করব?

আমি উবুন্টু 11.04 চালাচ্ছি আমি বাশ সেশন শুরু করতে টার্মিনালটি ব্যবহার করি এবং আমি একটি পরিবেশের পরিবর্তনশীল যুক্ত করতে চাই:

$r@hajt:~$ env THEVAR=/example

কিন্তু এটা কাজ করছে না. এটি এর সাথে সমস্ত ভেরিয়েবল দেখায় শেষ এক, কিন্তু অন্য কল env প্রদর্শন করা হয় না THEVAR আর- env | grep THEVAR কিছুই ফেরত দেয় না.

অনুরূপ, রপ্তানি সঙ্গে স্ক্রিপ্ট (export THEVAR=/example) বা অন্যান্য পরিবর্তনশীল কার্যভার (THEVAR=/example) পরিবেশ পরিবর্তনশীল যোগ করবেন না .

আমি জানি আমি কিছু ভুল করছি, আমি জানি এটা সহজ কিছু হওয়া উচিত, কিন্তু আমি শুধু কি খুঁজে পাচ্ছি না.

আপডেট: আমার প্রশ্নের আসল অর্থ এই ছিল: https://stackoverflow.com/questions/496702/can-a-shell-script-set-environment-variables-of-the-calling-shell

(যাই হোক আমি সবচেয়ে ভোট উত্তর নির্বাচন করুন এবং সম্পাদিত শিরোনাম ছেড়ে দেব-যে আমি জিজ্ঞাসা ছিল কি ছিল না)

env তারপর সব পরিবর্তন খারিজ, একটি পরিবর্তিত পরিবেশে একটি প্রোগ্রাম চালায়.

পরিবর্তনশীল সেট করতে শুধুমাত্র বর্তমান শেল জন্য:

VARNAME="my value"

বর্তমান শেল জন্য এটি সেট এবং সমস্ত প্রক্রিয়া বর্তমান শেল থেকে শুরু:

export VARNAME="my value"      # shorter, less portable version

এটি সেট করতে স্থায়ীভাবে সব ভবিষ্যতে ব্যাশ সেশন জন্য আপনার যেমন লাইন যোগ করুন .bashrc আপনার ফাইল $HOME ডিরেক্টরি.

এটি স্থায়ীভাবে স্থাপন করা, এবং সিস্টেম ওয়াইড (সমস্ত ব্যবহারকারী, সমস্ত প্রক্রিয়া) /ইত্যাদি/পরিবেশে সেট পরিবর্তনশীল যুক্ত করুন:

sudo -H gedit /etc/environment

এই ফাইলটি শুধুমাত্র পরিবর্তনশীল অ্যাসাইনমেন্ট গ্রহণ করে:

VARNAME="my value"

ব্যবহার করবেন না export কীওয়ার্ড এখানে.

আপনি বর্তমান ব্যবহারকারী থেকে লগ আউট এবং পরিবেশ ভেরিয়েবল পরিবর্তন সঞ্চালিত তাই আবার লগইন করতে হবে.

একবার পরিবেশের পরিবর্তনশীল সেট করতে, ব্যবহার করুন export প্রম্পটে কমান্ড, শেল স্ক্রিপ্টে নয়:

$ export THEVAR=/example

পরিবর্তনশীল শেল সময় বাকি জন্য বা সেট না হওয়া পর্যন্ত নির্ধারণ করা হবে.

প্রতিবার পরিবেশের পরিবর্তনশীল সেট করতে, ব্যবহার করুন export কমান্ড মধ্যে .bashrc ফাইল (অথবা আপনার শেল জন্য উপযুক্ত আরম্ভের ফাইল).

একটি স্ক্রিপ্ট থেকে একটি পরিবেশ পরিবর্তনশীল সেট করতে, ব্যবহার করুন export স্ক্রিপ্টে কমান্ড, এবং তারপর source স্ক্রিপ্ট. আপনি স্ক্রিপ্ট চালানো হলে এটি কাজ করবে না.

সোর্সিং এবং কার্যকর করার মধ্যে পার্থক্যের ব্যাখ্যার জন্য এই উত্তরটি দেখুন: https://superuser.com/questions/176783/what-is-the-difference-between-executing-a-bash-script-and-sourcing-a-bash-script/176788#176788

উবুন্টুতে স্থায়ীভাবে একটি নতুন পরিবেশের পরিবর্তনশীল যুক্ত করতে (কেবলমাত্র 14.04 এ পরীক্ষিত), নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

  1. একটি টার্মিনাল খুলুন (টিপে CtrlAltT)
  2. sudo -H gedit /etc/environment
  3. আপনার পাসওয়ার্ড টাইপ করুন
  4. সবেমাত্র খোলা পাঠ্য ফাইলটি সম্পাদনা করুন:
    যেমন আপনি যদি যোগ করতে চান FOO=bar, তারপর শুধু লিখুন FOO=bar একটি নতুন লাইনে
  5. এটি সংরক্ষণ করুন
  6. একবার সংরক্ষিত, লগআউট এবং আবার লগইন.
  7. আপনার প্রয়োজনীয় পরিবর্তন করা হয়.

স্ক্রিপ্টটি শেষ হওয়ার পরে পরিবেশ/ভিএআর পরিবর্তনগুলি অব্যাহত রাখতে, আপনাকে ব্যবহার করতে হবেsource ./script.sh বা উত্সের জন্য শর্টহ্যান্ড স্বরলিপি,".", মত . ./script.sh

আপনি তাদের টাইপ করেছেন, যেমন যদি সোর্স স্ক্রিপ্ট কমান্ড চালানো হবে... সুতরাং এটি স্ক্রিপ্টের কিছু দিক পরিবর্তন করে, যেমন প্রস্থান... সুতরাং যদি আপনার স্ক্রিপ্টটি কিছু পরীক্ষা করে এবং মিথ্যা হলে প্রস্থান করার সিদ্ধান্ত নেয়, উদাহরণস্বরূপ, কল করার মাধ্যমে exit 0, এটা আপনার বর্তমান টার্মিনাল / শেল অধিবেশন বিনষ্ট হবে.

আমি জানি এটি বেশ দেরি হয়ে গেছে, তবে আপনি যদি সমস্ত ব্যবহারকারীর জন্য পরিবেশের পরিবর্তনশীল যুক্ত করতে চান (উদাঃ জাভা ব্যবহার) - আপনি নিম্নলিখিতগুলি করতে পারেন:

1) খুলুন /etc/bash.bashrc ন্যানো ব্যবহার করে (আপনি যাই হোক না কেন সম্পাদক ব্যবহার করতে পারেন, আমি ভিম পছন্দ করি না কারণ এটি ব্যবহারকারীর বন্ধুত্বের ক্ষেত্রে সবচেয়ে খারাপ-ব্যক্তিগত কিছুই নয়)

2) ফাইল যোগ করুন:

export VAR=path export PATH=$PATH:/bin3) (আপনি যদি বাক্সটি বাউন্স করতে পারেন তবে আরও ভাল) - বা কেবল একটি নতুন এসএসএইচ সেশন খুলুন এবং `এনভি' কমান্ড ব্যবহার করে নিশ্চিত করুন

তবে আপনি যদি প্রতিটি ব্যবহারকারীর এটির জন্য পৃথক সেটিং রাখতে চান তবে আপনাকে এতে পরিবর্তন করতে হবে (স্ক্রিপ্টেড) .bashrc চিহ্নিত স্থানে ফাইল করা হবে ~/.bashrc (অথবা /home/$USER/ আপনি যদি লিনাক্স সিস্টেমে নতুন হন)

আপনি যদি স্ক্রিপ্টের মাধ্যমে জিনিসগুলি করেন তবে স্থায়ীভাবে পরিবেশের পরিবর্তনশীল সেট করার একটি সহজ উপায় আপনার স্ক্রিপ্টে বিবৃতি নীচে দেওয়া হয়েছে,

if [[ ! -d "$MyVar" ]]; then     export MyVar="abc"    echo 'export MyVar="abc"' >> ~/.bashrcfi

আপনার যদি পিডাব্লুডি এর মতো অভিব্যক্তিগুলি মূল্যায়ন করতে হয় তবে আপনি এটি ব্যবহার করতে পারেন, উদাহরণস্বরূপ,

echo "export EIGEN_ROOT=\"$(pwd)/eigen\"" >> ~/.bashrc

আপনি যদি উবুন্টু বা কোনও ইউনিক্স-ভিত্তিক সিস্টেম ব্যবহার করেন তবে ভেরিয়েবলগুলি রফতানি করুন ~/.bashrc ফাইল. এটি একটি লুকানো ফাইল এবং আপনি টার্মিনাল মাধ্যমে বা ফাইল সিস্টেমের মধ্যে লুকানো ফাইল লুকিয়ে আছে পেতে পারেন.

তারপরে ফাইলটি সম্পাদনা করে সেট করুন export THEVAR=/example সেখানে, সংরক্ষণ করুন এবং এটি সম্পন্ন হয়েছে.

আপনি যদি টমক্যাট ব্যবহার করে জাভা অ্যাপ্লিকেশন স্থাপন করছেন তবে আপনি পরিবেশের ভেরিয়েবলগুলি নিম্নলিখিত উপায়ে সেট করতে পারেন:

1.সুডো সু এবং সিডি থেকে /ভার / লিব / টমক্যাট 8 /বিন / (বা আপনার টমক্যাট বিন পাথ যেটি)

  1. স্পর্শ setenv.sh (যদি এটি বিদ্যমান না থাকে), যদি ফাইল উপস্থিত থাকে তবে ইতিমধ্যে 'ভি setenv.sh'

  2. সিএইচএমওডি 777 setenv.sh (ফাইল এক্সিকিউটেবল করুন)

  3. ষষ্ঠ setenv.sh এবং সেটেনভে নিম্নলিখিত লাইন সেট করুনশেক্সপোর্ট কী = মান

  4. সুডো সিস্টেমসিটিএল পুনরায় চালু করুন টমক্যাট.সেবা

আপনার জাভা ফাইলে আপনি পরিবর্তনশীল সেট করা আছে কিনা তা পরীক্ষা করতে নিম্নলিখিত কোডটি ব্যবহার করতে পারেন

private static void printEnv() {    System.out.println("******************************Environment Vars*****************************");    Map<String, String> enviorntmentVars = System.getenv();    enviorntmentVars.entrySet().forEach(System.out::println);    System.out.println("******************************system Vars*****************************");    Properties enviorntmentProperties = System.getProperties();    enviorntmentVars.entrySet().forEach(System.out::println);}

অন্যান্য গ্লোবাল ভেরিয়েবল সম্পর্কে, এই এক যেমন একটি সীমাবদ্ধতা যোগ করা হয় না. আমি এটা আলাদা রাখতে চাই.

https://help.ubuntu.com/community/EnvironmentVariables

সংজ্ঞায়িত/রপ্তানি যখনবাশার, এটা ঠিকমত কাজ করে.

‘দ্যভার= / উদাহরণ’ সম্পর্কে কীভাবে`

[গুগল আর্থ এবং $ব্রাউজার এনভায়রনমেন্ট ভেরিয়েবল] এর সম্ভাব্য সদৃশ(Google Earth and $BROWSER environment variable - Ask Ubuntu)