Bashの組み込みコマンド「set」と「export」は何をしますか?

Bashの組み込みコマンド「set」と「export」は何をしますか?

set私はBashの目的とそれが何のために使用されるのかについて少し混乱しています。export(他のシェルもおそらく同じようです)。

環境変数を設定するためのようですが、を通しても可能でしょうかVARIABLE=VALUE

また、個別に異なる値を入力してset表示exportします。

では、その目的は何ですか?

ベストアンサー1

export現在のプロセスの子プロセスにエクスポートするために指定された変数を表示します。デフォルトでは、その変数はエクスポートされません。たとえば、

$ foo=bar
$ echo "$foo"
bar
$ bash -c 'echo "$foo"'

$ export foo
$ bash -c 'echo "$foo"'
bar

set一方、シェルプロパティと位置パラメータが設定されます。

$ set foo=baz
$ echo "$1"
foo=baz

bazに割り当てられておらず、foo文字通りの位置パラメータになります。setできる他のタスク(主にシェルオプション)がたくさんあります。を参照してくださいhelp set

印刷の場合、export引数なしで呼び出すと、シェル環境のすべての変数が印刷されます。set変数も印刷いいえ出口。また、他のオブジェクトをエクスポートすることもできます(これは移植可能ではありませんが)。を参照してくださいhelp export

おすすめ記事