আমি কীভাবে রফতানি পরিবেশে পরিবর্তনশীল মুছব?


1556

Gnuplot ইনস্টল করার আগে, আমি পরিবেশ পরিবর্তনশীল সেট GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src। ইনস্টলেশন চলাকালীন, কিছু ভুল হয়েছে।

আমি GNUPLOT_DRIVER_DIRপরিবেশের পরিবর্তনশীল মুছে ফেলতে চাই । আমি কীভাবে এটি অর্জন করতে পারি?


2
ফিশ শেলটিতে এটি কীভাবে করাতে চান তাদের জন্য stackoverflow.com/questions/30703860/… দেখুন (যদিও এই প্রশ্নটি একটি নির্দিষ্ট শেলের জন্য নয়)
লিন

উত্তর:


2461

unset আপনি যে আদেশটি সন্ধান করছেন তা হ'ল

unset GNUPLOT_DRIVER_DIR

4
তবে এটি কেবল একটি সেশনের জন্যই কাজ করে, এটি অবশ্যই আনসেট করার বিষয়ে কী? অথবা ভেরিয়েবল সেটটি কোথায় সন্ধান করছে, তাই আপনি গিয়ে এটি মুছতে পারেন?
eLRuLL

31
এটি প্রতি টার্মিনাল উদাহরণ হিসাবে কাজ করা উচিত। সাধারণত, প্রতিটি সময় টার্মিনাল উইন্ডোটি খোলার পরে এটি places / .bashrc, ~ /। প্রোফাইল ইত্যাদি ইত্যাদির বিভিন্ন স্থান থেকে ভেরিয়েবলগুলি লোড করে দেবে one আপনার যদি এমন কোনও ভেরিয়েবল থাকে যা প্রতিবার টার্মিনালটি খোলার সময় স্বয়ংক্রিয়ভাবে সেট হয়ে যায় বলে মনে হয়, এর জন্য আপনার হোম ডিরেক্টরিতে থাকা বিভিন্ন লুকানো ফাইলগুলি অনুসন্ধান করার চেষ্টা করুন। অথবা, এটি কোথায় সেট করা হচ্ছে তা দেখতে "গ্রেপ -আর <এক্স> ~" চেষ্টা করুন যেখানে <এক্স> ভেরিয়েবলের নাম। আপনার নিজের ডিরেক্টরি ডিরেক্টরিতে প্রচুর ফাইল থাকলে এটি কিছুক্ষণ সময় নিতে পারে।
matt5784

1
এটি শেল থেকে ভেরিয়েবলটি সরিয়ে ফেললেও। একমাত্র উপায় unexportকি T="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T?
ওলেজোরেনব

1
@ ইলজোরজেনব কমপক্ষে ব্যাশে, আপনি declare +x MYVARরফতানি সরানোর জন্য বলতে পারেন তবে বর্তমান শেলের মধ্যে মানটি রাখুন।
পেডার ক্লিনজেনবার্গ

4
@ পেডারক্লিনজেনবার্গ বাশের ক্ষেত্রেও export -n MYWARকাজ করে।
জার্নো

170

বাশে পরিবেশ পরিবর্তনশীল তৈরি এবং মুছে ফেলার ওয়াকথ্রু:

DUALCASE ভেরিয়েবল উপস্থিত থাকলে পরীক্ষা করুন:

el@apollo:~$ env | grep DUALCASE
el@apollo:~$ 

এটি হয় না, সুতরাং পরিবর্তনশীল তৈরি করুন এবং এটি রফতানি করুন:

el@apollo:~$ DUALCASE=1
el@apollo:~$ export DUALCASE

এটি সেখানে আছে কিনা তা পরীক্ষা করুন:

el@apollo:~$ env | grep DUALCASE
DUALCASE=1

এটা সেখানে. সুতরাং এটি থেকে মুক্তি পান:

el@apollo:~$ unset DUALCASE

এটি এখনও আছে কিনা তা পরীক্ষা করুন:

el@apollo:~$ env | grep DUALCASE
el@apollo:~$ 

DUALCASE রফতানি পরিবেশ পরিবর্তনশীল মোছা হয়েছে।

আপনার স্থানীয় এবং পরিবেশের ভেরিয়েবলগুলি সাফ করার জন্য অতিরিক্ত আদেশগুলি:

লগইনের সময় সমস্ত স্থানীয় ভেরিয়েবলগুলি ডিফল্টরূপে আনসেট করুন:

el@apollo:~$ CAN="chuck norris"
el@apollo:~$ set | grep CAN
CAN='chuck norris'
el@apollo:~$ env | grep CAN
el@apollo:~$
el@apollo:~$ exec bash
el@apollo:~$ set | grep CAN
el@apollo:~$ env | grep CAN
el@apollo:~$

exec bash কমান্ড সমস্ত স্থানীয় ভেরিয়েবল সাফ করেছে তবে পরিবেশ ভেরিয়েবল নয়।

সমস্ত পরিবেশের ভেরিয়েবলগুলি লগইনে ডিফল্টরূপে আনসেট করুন:

el@apollo:~$ export DOGE="so wow"
el@apollo:~$ env | grep DOGE
DOGE=so wow
el@apollo:~$ env -i bash
el@apollo:~$ env | grep DOGE
el@apollo:~$

env -i bash লগ-ইন করার সময় কমান্ড সমস্ত পরিবেশের ভেরিয়েবল ডিফল্ট হয়ে যায়।


10
সম্ভবত এর echo $VARIABLEচেয়ে ভাল env | grep VARIABLE, এটি হালকা হওয়ায় এটির সমস্ত ভেরিয়েবলগুলি মুদ্রণের প্রয়োজন নেই এবং এরপরে তার আউটপুটটি অন্য (গ্রেপ) প্রক্রিয়াতে প্রেরণ করা দরকার। প্লাস, env | VARIABLEএকই প্যাটার্নের সাথে মেলে এমন একাধিক চলক ধরতে পারে। প্লাস 2, echo $VARIABLE< টেব> টিপে (চলমান উপস্থিত থাকলে, এটি আপনাকে কী করতে চান তার ইঙ্গিতও হতে পারে) চাপিয়ে ভেরিয়েবলের নামটি সম্পূর্ণ করা সম্ভব করে তোলে।
রদ্রিগো গুর্গেল


8
@ রডরিগো গ্রাগেল, echo $VARIABLEআপনাকে জানায় না যে ভার্এইবলটি শেল ভেরিয়েবল (এখানে "স্থানীয় ভেরিয়েবল" বলা হয়) বা পরিবেশের পরিবর্তনশীল, যা ওয়াকথ্রুটির পুরো পয়েন্ট।
hmijail

4
নোটটি env -i bashমনে হচ্ছে যে এটি একটি সাবসেল তৈরি করছে (কমপক্ষে একটি ম্যাকের উপরে) যার অনিচ্ছাকৃত পরিণতি হতে পারে।
মার্ক চ্যাকেরিয়ান

2
ইডো ব্যবহার করে রডরিগো গ্রাগেল বিদ্যমান ভেরিয়েবল সেটটি খালি স্ট্রিং বা নুলিতে প্রদর্শন করবে না। আপনার বক্তব্য, যদিও, পরিবর্তনশীল জন্য পরীক্ষা করার একটি সঠিক উপায় হতে হবে env | grep -e '^VARNAME='
থমাস

5

কারণ আসল প্রশ্নটিতে ভেরিয়েবলটি কীভাবে সেট করা হয়েছিল তা উল্লেখ করা হয়নি এবং যেহেতু এই নির্দিষ্ট উত্তরটির সন্ধান আমি এই পৃষ্ঠায় পেয়েছি, আমি নিম্নলিখিতগুলি যুক্ত করছি:

সি শেল (csh / tcsh) এ পরিবেশের পরিবর্তনশীল সেট করার দুটি উপায় রয়েছে:

  1. set x = "something"
  2. setenv x "something"

আচরণের পার্থক্য হ'ল সেটেনভ কমান্ডের সাথে সেট করা ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে সাবশেলে রফতানি হয় যখন সেট সহ ভেরিয়েবল সেটটি হয় না।

সঙ্গে একটি পরিবর্তনশীল সেট আনসেট করতে সেট , ব্যবহার

unset x

Setenv সহ একটি চলক সেট আনসেট করতে , ব্যবহার করুন

unsetenv x

দ্রষ্টব্য: উপরের সমস্ত ক্ষেত্রে, আমি ধরে নিচ্ছি যে ভেরিয়েবলের নাম 'x'।

ক্রেডিট:

https://www.cyberciti.biz/faq/unix-linux-differences-between-set-and-setenv-c-shell-variable/ https://www.oreilly.com/library/view/solaristm-7- রেফারেন্স / 0130200484 / 0130200484_ch18lev1sec24.html


সেট / Setenv আর্ট সাবসেলের মধ্যে পার্থক্য সম্পর্কে দুর্দান্ত সংযোজন!
4levels

4

এটি কাজ করতে পারে।

export GNUPLOT_DRIVER_DIR=

10
ভেরিয়েবলটি এখনও বিদ্যমান, তবে এটিতে একটি খালি স্ট্রিং রয়েছে, যেমন আপনি envকমান্ডের আউটপুটে দেখতে পাচ্ছেন । এটি কেবলমাত্র এমন ক্ষেত্রে হতে পারে যে অ্যাপ্লিকেশন যা ভেরিয়েবল ব্যবহার করে তা অস্তিত্বহীন এবং খালি পরিবেশের পরিবর্তনশীলের মধ্যে পার্থক্য করে না।
প্লেক

1
হ্যাঁ এতে থাকবে, এটি কেবল ভেরিয়েবল অপসারণ না করে মান সরিয়ে ফেলতে পারে। তবে হ্যাঁ যে কোনওটি ব্যবহার করতে পারেন - GNUPLOT_DRIVER_DIR আনসেট করুন।
নিলেশ কে।

এটি PAGER ভেরিয়েবলের ক্ষেত্রে কাজ করে না। আমি এর সাথে আমার প্যাগার সেটিংটি আনসেট করার চেষ্টা করেছি export PAGER=, তবে কেবলমাত্র পেজিং সম্পূর্ণরূপে অক্ষম করেছে - আমার সমস্ত ম্যান পেজগুলি সরাসরি টার্মিনালে ফেলে দেওয়া হয়েছে। unset PAGERকৌতুকটি করেছে, এটি ডিফল্ট আচরণে ফিরিয়েছে।
চাদ

1

উপরের উত্তরে উল্লিখিত হিসাবে, unset GNUPLOT_DRIVER_DIRআপনি যদি exportভেরিয়েবল সেট করতে ব্যবহার করেন তবে কাজ করা উচিত । যদি আপনি এটিকে স্থায়ীভাবে সেট করে থাকেন ~/.bashrcবা ~/.zshrcকেবল সেখান থেকে সরিয়ে ফেলা কার্যকর হবে।

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