0

私は Unix を初めて使用し、exportコマンドを使用してセッション変数を作成できることは知っていますが、以下のコマンドの目的は何ですか:

bash-3.2$ export $TEST
declare -x PWD="/home/username"
declare -x SHELL="/bin/bash"
declare -x SSH_TTY="/dev/pts/4"
declare -x USER="username"

このコマンドを理解するのを手伝ってください。TEST という名前の変数はありませんが、このコマンドを実行すると、シェルが何らかの出力を出力しました。

4

1 に答える 1

2

シェルは、存在しない変数$TESTを空の文字列に展開exportし、引数なしでコマンドを実行しました。これを行うと、シェルはエクスポートされた環境変数を一覧表示します。

空の変数 TEST をエクスポートする場合は、次のいずれかを記述しておく必要があります。

export TEST
export TEST=
export TEST=''
export TEST=""

export TEST=$TEST(この場合、 orなど、同じ効果を達成する他の方法がありますが、export TEST="$TEST"通常は と省略されexport TESTます。)

出力の詳細declare -x表記は、出力をファイルに書き込んでから、.(ドット) またはsourceコマンドを使用して環境をリロードできるように設計されています。シェルが異なれば出力の表示も異なり、必ずしも再利用できるとは限りません。

setコマンドは似ています (ただし、より複雑です) 。シェル オプションの設定、位置引数 ( 、 など) の設定に使用できますが、$1引数$2なしで実行すると、設定された変数が一覧表示されます。作成されるすべての変数がエクスポートされた環境変数であるとは限らないことに注意してください。

于 2013-03-28T18:29:46.767 に答える