端末を閉じずにコマンドプロンプトで定義したすべての変数をクリアする方法を知りたいのですが。
たとえば、コマンドプロンプトで次のように変数を設定したとします。
$ a=1
次に、$a
ターミナルを閉じずに変数(および同様に定義された他の多くの変数)を削除します。使用できunset
ましたが、大きいのが多ければ多忙です。変数の
なぜそれをしたいのですか?
—
Hauke Laging 2014
@HaukeLagingスクリプトを使用して配列を操作しています。私は時々それに1つの要素を追加します。そのため、古い値でスクリプトを実行できません(配列が変更されているため)。ターミナルを閉じて、新しいセッションを再開する必要があります。はっきりさせてほしい。そうでなければ私に知らせてください:)
—
エドワード・トーバルズ
@muru-彼は
—
mikeserv 2014
$var
withに保存されたリストを取得し、var=$(declare -p +F);
それを引数として関数に渡します。echo "${2%%=*}".
この答えには、サイズの問題がいくつかありますが、環境が大規模でない場合は機能します。
あなたが何をしようとしているのか分かりません。対話型のシェルまたはスクリプトについて話しているのですか?対話型シェルから実行されるスクリプトで設定された変数は、親シェルには影響しません。どの行き止まりではなく、達成したいことを教えてください。
—
Gilles「SO-邪悪なことをやめなさい」2014
exec "$0"
多分-しかし、あなたがグローバルで何を意味するのかを伝えるのは難しいです。