コマンドの一時変数が残らないようにするために、サブシェルを使用するときにこれを何と呼びますか?

コマンドの一時変数が残らないようにするために、サブシェルを使用するときにこれを何と呼びますか?

サブシェルで実行した後に変数が消えたいときに呼び出されるスキルは何ですか?

$ (lookForMe=wee && find -type d -name "${lookForMe}_*")
$ echo $lookForMe
$

ベストアンサー1

シェル変数は常に現在のシェルに属します。サブシェルを作成すると、これは別のシェルなので、一意の変数セットを持ちます。あなたの場合はsubshel​​lを実行しているので、(......)bashは最初に親シェルのすべての変数のコピーを取得するようにサブシェルを準備しますが、すでにそのような場合です。特に、変数の変更はサブシェルの終わりにはコピーされず、サブシェルから生成された変数も親シェルに戻されません。

これはない技術しかし、それはすべてです。強く打つ言語はすでに定義されているので、名前を求めることは意味がありません。

全体的なアイデアは、ほとんどのプログラミング言語のローカル変数の概念といくつか似ているため、このプロパティの活用を「ローカル変数の作成」と命名したい場合がありますが、次の事実を無視するので、そうすることは消極的です。少なくとも呼び出しサイトでは、(...)親シェルの変数が子シェルの変数を初期化するために使用されます。

おすすめ記事