回答:
unset
あなたが探しているコマンドです。
unset GNUPLOT_DRIVER_DIR
unexport
を行う唯一の方法はありますT="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T
か?
declare +x MYVAR
、エクスポートを削除して現在のシェルに値を保持するように言うことができます。
export -n MYWAR
はBash でも機能します。
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
コマンドは、ログイン時にすべての環境変数をデフォルトにクリアしました。
echo $VARIABLE
より良いですenv | grep VARIABLE
、それはそれがすべての変数を印刷して、そしてその出力を別の(grep)プロセスに送る必要がないのでより軽いです。さらに、env | VARIABLE
同じパターンに一致する複数の変数をキャッチできます。Plus2は、echo $VARIABLE
<Tab>を押すことで変数の名前を完成させることを可能にします(存在する場合、それはまた、あなたが何をしたいのかのヒントになるかもしれません)。
echo $VARIABLE
、VARIABLEがシェル変数(ここでは「ローカル変数」と呼ばれます)であるか、ウォークスルーの要点である環境変数であるかを通知しません。
env -i bash
意図しない結果をもたらす可能性のあるサブシェル(少なくともMacでは)を作成しているようです。
env | grep -e '^VARNAME='
。
元の質問では変数がどのように設定されたかについては触れられておらず、この特定の答えを探すためにこのページにたどり着いたため、以下を追加しています。
Cシェル(csh / tcsh)では、環境変数を設定する方法が2つあります。
set x = "something"
setenv x "something"
動作の違いは、setenvコマンドで設定された変数は自動的にサブシェルにエクスポートされますが、setで設定された変数は自動的にエクスポートされないことです。
setを使用して変数セットを設定解除するには、次を使用します。
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- reference / 0130200484 / 0130200484_ch18lev1sec24.html
これも機能する可能性があります。
export GNUPLOT_DRIVER_DIR=
env
コマンドの出力で確認できるように、空の文字列が含まれています。変数を使用するアプリケーションが、存在しない環境変数と空の環境変数を区別しない場合があります。
export PAGER=
が、ページングが完全に無効になりました。すべてのmanページが端末に直接ダンプされました。 unset PAGER
トリックを行い、デフォルトの動作に戻しました。