変数とは?
変数は、ユーザー、シェル、システム、または別のプログラムをロードする任意のプログラムによって設定されるメモリ内の一時記憶領域です。変数には次の 2 つのカテゴリがあります。
<オール>シェル変数の表示
echo コマンドは、シェル変数内に保存されている値を表示します。
$ echo $SHELL /bin/bash
$ set DISPLAY=:0.0 EDITOR=/usr/bin/vi SHELL=/bin/bash TERM=xterm-256color USER=geek ...
シェル変数の設定と設定解除
シェル変数は、set コマンドを使用して設定されます。例:
$ set history = 50 $ echo $history 30
set コマンドは、シェル変数とその値を表示するためにも使用されます。例:
$ set | grep history 30
unset コマンドを使用すると、値を逆にすることができます。
デフォルトの Bash シェル変数
この表は、ログイン時に bash シェルによってデフォルト値が割り当てられる変数を示しています。
変数 | 意味 |
---|---|
編集者 | シェルのデフォルト エディタを定義します |
FC編集 | fc コマンドのエディターを定義します。以前に実行されたコマンドを編集するための履歴メカニズムで使用されます。 |
ホーム | コマンド ラインで引数が指定されていない場合に cd コマンドが変更するディレクトリを設定します |
ログ名 | ユーザーのログイン名を設定します |
パス | シェルが実行するコマンドを見つける必要がある場合に、検索するディレクトリのコロン区切りのリストを指定します |
PS1 | プライマリ Bash シェル プロンプトを指定します:$ |
PS2 | セカンダリ コマンド プロンプトを指定します。通常:> |
シェル | シェルの名前を指定します (つまり、/bin/bash) |
シェル変数のカスタマイズ:PS1
シェル プロンプト文字列はシェル変数 PS1 に格納され、好みに応じてカスタマイズできます。
$ PS1=”$LOGNAME@`uname -n` \$PWD $ “ user@server01: $
– この例では、プロンプトにユーザーのログイン名、システムのホスト名、および現在の作業ディレクトリが表示されます。
– ユーザー名は変数 LOGNAME から読み取られます。 、およびホスト名は「uname -n」の出力から取得されます ‘ command.
– このシェル プロンプトは、ユーザーが別のホストにログインした場合でも正しい情報を表示します。
– 逆引用符 (`) マークは、埋め込まれたコマンド文字列を区切ります。
シェル変数のカスタマイズ:PATH
PATH 変数には、コロンで区切られたディレクトリ パス名のリストが含まれます。コマンドラインでコマンドを実行すると、シェルはこれらのディレクトリを左から右に順番に検索して、そのコマンドを見つけます。シェルがディレクトリのリストでコマンドを見つけられない場合、「見つかりません」というエラー メッセージが表示されます。コマンドがスムーズに動作するようにするには、PATH 変数にそれぞれのディレクトリを含める必要があります。この例は、ホーム ディレクトリを PATH 変数に含める方法を示しています。
たとえば、PATH 変数にホーム ディレクトリを含めるには、次のコマンドを実行します。
$ echo $PATH /usr/bin:/usr/sbin
$ PATH=$PATH:~
$ echo $PATH /usr/bin:/usr/sbin:/home/user01注意 :PATH 変数は自動的に値をサブシェルに渡します。