シェルの動作設定
set コマンド
現在のシステムで設定されている変数の一覧を表示するには set コマンドを引数なしで実行する
[riceplanting@localhost ~]$ set # シェルの組み込み変数 BASH=/bin/bash BASH_VERSION='4.1.2(1)-release' PS1='[\u@\h \W]\$ ' PWD=/home/riceplanting # シェルの環境変数 HOME=/home/riceplanting LANG=ja_JP.UTF-8 LOGNAME=riceplanting PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/riceplanting/bin
組み込み変数とはなんぞ
シェルが自動的に設定するもの
変数の設定
※ 変数名には自由に文字列を入れることができるが、「=」前後にはスペースを入れてはならない
変数に値を設定する
変数名=値
変数から値を取り出す
変数の先頭に「$」を付ける
echo $変数名
設定した変数を削除する
unset 変数名
削除の場合「$」はいらない
環境変数を設定、一覧の表示
現在の環境変数の設定を表示
printenv コマンドを使う
[riceplanting@localhost ~]$ printenv LANG ja_JP.UTF-8
一覧を表示するには、引数なしで printenv コマンドを実行
コマンド展開
シェルでは、コマンドの実行結果を変数に代入することができる
これを「コマンド展開」という
設定するには2種類のやり方がある
- 変数の設定時、値の部分を「`」(バッククォーテーション)で囲う
- $() 記号で囲う
today=`date` today=$(date) 「`」(バッククォーテーション)では分かりづらい為、$() で囲うとお行儀がよろしいらしい
メタキャラクタ
シェルにとって特別な意味を持つ記号でそのままではコマンドの引数に含めたりできない文字がある
# | コメントを表す記号 |
~ | ホームディレクトリを表す記号 |
& | バックグラウンドジョブの実行を行う記号 |
$ | 変数を指定する記号 |
| | パイプ |
< | 入力リダイレクション |
> | 出力リダイレクション |
; | コマンドセパレータ(複数のコマンドの連続実行を可能にする) |
メタキャラクタの働きを消すには3種類のやり方がある
- 文字列を「"」(ダブルクォーテーション)で囲う
- 文字列を「'」(シングルクォーテーション)で囲う
- メタキャラクタの前に「\」(バックスラッシュ)を付ける
エイリアス
コマンドに別名をつけることができる alias コマンドというものがある
alias の設定
alias エイリアス名=コマンド
※ 余談
rm コマンドで不用意にファイルを消さない為に
alias rm="rm -i"
とすると、rm コマンド時、確認の文字が表示される。
alias の解除
unalias エイリアス名