අපනයනය කළ පරිසර විචල්‍යයක් මකා දැමිය හැක්කේ කෙසේද?


1584

Gnuplot ස්ථාපනය කිරීමට පෙර, මම පරිසර විචල්‍යය සකසා ඇත GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src. ස්ථාපනය අතරතුර, යමක් වැරදී ඇත.

මට GNUPLOT_DRIVER_DIRපරිසර විචල්‍යය ඉවත් කිරීමට අවශ්‍යයි . මට එය සාක්ෂාත් කරගත හැක්කේ කෙසේද?


2
මාළු කවචයේ මෙය කරන්නේ කෙසේදැයි සොයන අයට stackoverflow.com/questions/30703860/… බලන්න (මෙම ප්‍රශ්නය නිශ්චිත කවචයක් සඳහා නොවුවද )
එලියා ලින්

Answers:


2510

unset ඔබ සොයන විධානයයි.

unset GNUPLOT_DRIVER_DIR

5
නමුත් මෙය ක්‍රියාත්මක වන්නේ සැසියකට පමණි, එය නිසැකවම සැකසීම ගැන කුමක් කිව හැකිද? නැතහොත් විචල්ය කට්ටලය කොහේදැයි සෙවීම නිසා ඔබට ගොස් එය මකා දැමිය හැකිද?
eLRuLL

33
මෙය එක් පර්යන්ත අවස්ථාවකට ක්‍රියාත්මක විය යුතුය. සාමාන්‍යයෙන්, ටර්මිනල් කවුළුවක් විවෘත කරන සෑම අවස්ථාවකම එය places / .bashrc, ~ / .profile වැනි විවිධ ස්ථාන වලින් විචල්‍යයන් පටවනු ඇත. ඔබ එක් පර්යන්තයක පිහිටුවා ඇති ඕනෑම විචල්‍යයන් තවත් ස්ථානයකට ගෙන නොයනු ඇත. ඔබ ටර්මිනලය විවෘත කරන සෑම අවස්ථාවකම ස්වයංක්‍රීයව සැකසෙන බවක් ඔබට තිබේ නම්, ඒ සඳහා ඔබේ නිවාස නාමාවලියෙහි ඇති විවිධ සැඟවුණු ලිපිගොනු බැලීමට උත්සාහ කරන්න. නැතහොත්, එය සකසා ඇත්තේ කොතැනදැයි බැලීමට, "grep -r <X> ~" උත්සාහ කරන්න, එහිදී <X> යනු විචල්‍යයේ නමයි. ඔබගේ නිවසේ නාමාවලියෙහි ලිපිගොනු විශාල ප්‍රමාණයක් තිබේ නම් මෙය ටික වේලාවක් ගතවනු ඇත.
matt5784

1
මෙය විචල්‍යය කවචයෙන් ඉවත් කරයි. එකම මාර්ගය වන්නේ unexportකරන්න T="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T?
olejorgenb

2
@olejorgenb අවම වශයෙන්, declare +x MYVARඅපනයනය ඉවත් කිරීමට ඔබට පැවසිය හැකි නමුත් වර්තමාන කවචයේ වටිනාකම තබා ගන්න.
පෙඩර් ක්ලින්ගන්බර්ග්

8
Ed පෙඩර් ක්ලින්ගන්බර්ග් බාෂ්හි ද export -n MYWARවැඩ කරයි.
jarno

172

පරිසර විචල්‍යයක් බැෂ් තුළ නිර්මාණය කිරීම සහ මකා දැමීම

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, එය සියලු විචල්‍යයන් මුද්‍රණය කර එහි ප්‍රතිදානය වෙනත් (grep) ක්‍රියාවලියකට යැවීමට අවශ්‍ය නොවන බැවින් එය සැහැල්ලු ය. ප්ලස්, env | VARIABLEඑකම රටාවට ගැලපෙන විචල්‍යයන් එකකට වඩා අල්ලා ගත හැකිය. ප්ලස් 2, echo $VARIABLE<Tab> එබීමෙන් විචල්යයේ නම සම්පූර්ණ කිරීමට හැකි වේ (එය තිබේ නම්, එය ඔබට කිරීමට අවශ්‍ය දේ පිළිබඳ ඉඟියක් ද විය හැකිය).
රොඩ්රිගෝ ගුර්ගල්

10
'env | grep VARIABLE 'echo $ VARIABLE' ට වඩා හොඳයි, මන්ද එය සැබවින්ම නැතිවී ගොස් ඇති බව මට පැවසිය හැකිය
කැලසිර්

8
OdRodrigoGurgel, echo $VARIABLEVARIABLE යනු ෂෙල් විචල්‍යයක්ද (මෙහි "දේශීය විචල්‍යය" ලෙස හැඳින්වේ) හෝ පරිසර විචල්‍යයක්ද යන්න ඔබට නොකියයි, එය ඇවිදීමේ සමස්ත ලක්ෂ්‍යයයි.
hmijail වැලපෙන්නන්

4
එය සටහන් කර ගන්න env -i bashඅනපේක්ෂිත ප්‍රතිවිපාක ඇති විය හැකි උපසිරැසියක් (අවම වශයෙන් මැක් මත) නිර්මාණය කරන පෙනේ.
මාර්ක් චකෙරියන්

2
Od රොඩ්රිගෝගර්ගල් echo භාවිතා කරමින් පවතින විචල්‍ය කට්ටලය හිස් නූලකට හෝ නූල් ලෙස පෙන්වන්නේ නැත. ඔබේ අදහස නම්, විචල්‍යය පරීක්ෂා කිරීම සඳහා නිසි ක්‍රමයක් වනු ඇත env | grep -e '^VARNAME='.
තෝමස්

5

මුල් ප්‍රශ්නයේ විචල්‍යය සකසා ඇති ආකාරය සඳහන් නොවන නිසාත්, මෙම නිශ්චිත පිළිතුර සොයමින් මම මෙම පිටුවට පැමිණි නිසාත්, මම පහත සඳහන් දෑ එකතු කරමි.

C shell (csh / tcsh) හි පරිසර විචල්‍යයක් සැකසීමට ක්‍රම දෙකක් තිබේ:

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

හැසිරීමේ වෙනස වන්නේ විචල්‍යයන් setenv සමඟ සකසා තිබීමයි විධානය සමඟ සකසා ඇති විචල්‍යයන් ස්වයංක්‍රීයව වෙත අපනයනය වන අතර විචල්‍ය කට්ටලයක් සමඟ නොවේ.

කට්ටලයක් සමඟ විචල්ය කට්ටලයක් සැකසීමට , භාවිතා කරන්න

unset x

Setenv සමඟ විචල්ය කට්ටලයක් සැකසීමට , භාවිතා කරන්න

unsetenv x

සටහන: ඉහත සියල්ලෙහිම, විචල්‍ය නාමය 'x' යැයි මම සිතමි.

බැර:

https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-shell-variable/ https://www.oreilly.com/library/view/solaristm-7- යොමුව / 0130200484 / 0130200484_ch18lev1sec24.html


Set / setenv wrt subhells අතර ඇති වෙනස්කම් ගැන විශාල එකතු කිරීමක්!
ලෙවල්

4

මෙයද ක්‍රියාත්මක විය හැකිය.

export GNUPLOT_DRIVER_DIR=

10
විචල්‍යය තවමත් පවතී, නමුත් එහි හිස් නූලක් අඩංගු වේ, ඔබට envවිධානයේ ප්‍රතිදානයේ දැකිය හැකිය . විචල්‍යය භාවිතා කරන යෙදුම නොපවතින සහ හිස් පරිසර විචල්‍යය අතර වෙනස හඳුනා නොගැනීම එය විය හැකිය.
පැලෙක්

1
ඔව් එය අඩංගු වනු ඇත, මෙය හුදෙක් විචල්‍යය ඉවත් නොකිරීමට අගය ඉවත් කිරීම පමණි. නමුත් ඔව් කෙනෙකුට භාවිතා කළ හැකිය - GNUPLOT_DRIVER_DIR සකසන්න.
නිලේෂ් කේ.

PAGER විචල්‍යය සම්බන්ධයෙන් මෙය ක්‍රියා නොකරයි. මම මගේ පේජර් සැකසුම සමඟ සැකසීමට උත්සාහ කළෙමි export PAGER=, නමුත් එය පේජිං සම්පූර්ණයෙන්ම අක්‍රීය කර ඇත - මගේ සියලුම මෑන් පිටු කෙළින්ම පර්යන්තයට විසි කළේය. unset PAGERඋපක්‍රමය කළා, එය පෙරනිමි හැසිරීමට ආපසු හරවනවා.
චැඩ්

1

ඉහත පිළිතුරු වල සඳහන් පරිදි, unset GNUPLOT_DRIVER_DIRඔබ exportවිචල්‍යය සැකසීමට භාවිතා කර ඇත්නම් වැඩ කළ යුතුය . ඔබ එය ස්ථිරවම සකසා ඇත්නම් ~/.bashrcහෝ ~/.zshrcඑය එතැනින් ඉවත් කිරීම සාර්ථක වනු ඇත.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.