既に定義されているシェル変数はexport により環境変数として宣言する事ができます。
printenv または env コマンドにより環境変数の一覧を表示します。
引き数なしのset はシェル、環境変数の両方を表示します。
| 変数名=変数値 | # 一旦シェル変数を定義し |
| export 変数名 | # 環境変数にする |
| export 変数名=変数値 | # 同時に行うことも可能 ![]() |
$ export aaa="sore sore" $ env | grep aaa aaa=sore soreまた シェル変数、環境変数は全て同じ領域に確保され、フラグにより属性が決定して います。
$ set CDAPATH=.:/usr/jsy/bin:/usr/bin # 環境変数 DISPLAY=:0 HOME=/usr/home/yakoshi : a=2 # シェル変数 b=4 d1=/proj1/ycos1 d2=/proj2/ycos2 d3=/proj3/ycos慣習的に環境変数は大文字で定義することが多いようです。
$ declare -x DATA="abc def" $ env | grep DATA DATA=abc def付与した属性を取り外すには、オプション指定のハイフン(-)に代えて、 プラス(+)を用います。
$ declare +x DATA $ env | grep DATAdeclareは、読込専用(書込不可)属性をつけることもできます。 ただし一旦、読込専用とした変数には修正を加えることができないので、 注意が必要です。
$ declare -r DATA $ DATA=123 bash: DATA: readonly variable
| 変数名 | 意味 |
|---|---|
| 動作環境を示す変数 | |
| $ | シェルのプロセスID |
| n | シェルの引数($1, $2...) |
| # | シェル引数の数 |
| PWD | カレント・ディレクトリ |
| PATH | 入力されたコマンドをシェルが検索するディレクトリの順番 |
| SHELL | カレント・シェルのファイル名(/bin/ksh) |
| ? | 最後に実行したコマンドの終了状態(0:正常、それ以外:異常終了) |
| HOME | ホーム・ディレクトリ |
| USER | ログイン・ユーザ名 |
| TERM | 端末の型式名(xterm, vt100など) |
| シェルの動作を制御する変数 | |
| EDITOR | コマンドライン編集で使用するエディタ名 ![]() |
| FCEDIT | フルスクリーンでコマンドを編集する時のエディタ名 ![]() |
| HISTSIZE | 記憶するコマンド履歴の最大数 ![]() |
| IGNOREEOF | EOF(^D)を入力してもログアウトしない。 |
| LANG | man やエラーメッセージの表示言語の切替え。 (C, ja_JP.eucJP など) |
| その他 | |
| PS1 | プロンプト(デフォルトは'$') |
| PS2 | 継続行のプロンプト(デフォルトは '>') |
| PS3 | select文のプロンプト(デフォルトは '#? ')![]() |
| RANDOM | 乱数 (範囲0〜32767)![]() |
$ echo "pid=$$, ppid=$PPID" pid=954, ppid=746 $ echo "Welcome $USER-san" Welcome ycos-san
| キーワード | 意味 |
|---|---|
| \h, \H | ホスト名(省略形が \h、FQDNは \H) |
| \u | ユーザ名 |
| \w, \W | 作業ディレクトリ (絶対パス表記が \w, 最後のサブディレクトリのみ表記は \W) |
| \! | コマンド履歴番号(!nnn で呼出可能) |
| \$ | 通貨記号(ドルマーク) |
$ PS1="[\! \w]\$ " [1024 ~]$ PS2="\e[33m>\e[00m " [1025 ~]$ ls \ > . Desktop Mail public_html