【Linux】シェル変数
- シェル変数とはbash内部で使用される変数
- 数値や文字列を保存して様々な値を設定することができる
変数の設定
書式
<変数名>=<値>
- 値にスペースを含む場合は'または"で囲む
- コマンド見做されエラーとなるため
=
の前後にスペースを入れない。
シェル変数var1に値を設定する例
$ var1='test variable'
- 設定した変数は<$変数名>で参照できる シェル変数var1を参照する例
$ echo $var1 test variable
PS1 プロンプトの設定
シェル変数を利用してプロンプトを変えてみる
$ ps1='bash> ' bash
意味が定義されている記号をPS1に設定するとそれぞれの値に置き換わって表示される
プロンプトで利用できる記号一覧
記号 | 内容 |
---|---|
\d | 「曜日 月 日」という形式の日付 |
\h | ホスト名のうち、最初の.までの部分 |
\H | ホスト名 |
\n | 改行 |
\t | HH:MM:SS形式の現在時刻 |
\u | ユーザー名 |
\w | カレントディレクトリ |
\W | カレントディレクトリの末尾のディレクトリ名 |
\$ | ルートユーザーは# それ以外のユーザーは$ |
\ | \ |
PATH コマンド検索パス
- よく扱うPATHも当然シェル変数
シェル変数PATHの内容
$ echo $PATH /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/bin:/sbin
LANG ロケール
- 言語や日付などはロケールを基準に切り替えられる
日本語のUTF-8環境の場合
$ echo $LANG ja_JP.UTF-8
locale
コマンドに-a
オプションをつけると利用可能なロケール一覧を表示できる
$ locale -a C POSIX aa_DJ ・ ・ ・
$ LANG=en_US.UTF-8
その他のシェル変数
コマンド履歴に関するシェル変数
シェル変数名 | 内容 |
---|---|
HISTFILE | コマンドライン履歴を保存するファイル名。デフォルト値は/.bash_history |
HISTFILESIZE | 履歴ファイルに保存するコマンドライン履歴の最大行数 |
HISTSIZE | コマンドライン履歴を保存する最大行数 |
シェルの現在の状態を知るための変数
シェル変数名 | 内容 |
---|---|
HOME | ホームディレクトリ |
SHELL | ログインシェルのパス |
PWD | カレントディレクトリ |