よく使うコマンドと多すぎて覚える気の起きないオプションについてのまとめ。
if文やwhile文の条件で、変数等を数値として評価して比較を行いたい場合は、以下のように記述する。
評価式 | 意味 |
---|---|
数値1 -eq 数値2 | 数値1と数値2が等しい場合に真(=) |
数値1 -ne 数値2 | 数値1と数値2が等しくない場合に真(!=) |
数値1 -gt 数値2 | 数値1より数値2の方が大きい場合に真(超過) |
数値1 -lt 数値2 | 数値1が数値2より小さい場合に真(未満) |
数値1 -ge 数値2 | 数値1が数値2より大きいか等しい場合に真(以上) |
数値1 -le 数値2 | 数値1が数値2より小さいか等しい場合に真(以下) |
if文やwhile文の条件で、ファイルの形式・パーミッション・特性を評価したい場合は以下のように記述する。
評価式 | 意味 |
---|---|
-d path | ディレクトリであれば真 |
-f path | ファイルであれば真 |
-e path | ファイルが存在すれば真 |
-L path | シンボリックリンクであれば真 |
-r path | 読取り可能ファイルであれば真 |
-w path | 書き込み可能ファイルであれば真 |
-x path | 実行可能ファイルであれば真 |
-s path | ファイルサイズが0より大きい場合は真 |
file1 -nt file2 | ファイル1がファイル2より新しい場合は真 |
file1 -ot file2 | ファイル1がファイル2より古い場合は真 |
変数 | 意味 |
---|---|
$0 | スクリプトの名前返す |
$1, $2, …, $9 | 第1引数, 第2引数, …, 第9引数 |
$# | 与えられた引数の数 |
$* | 与えられたすべての引数. 引数全体が”で囲まれている |
$@ | 与えられたすべての引数. 引数一つ一つが”で囲まれている |
$- | シェルに与えられたフラグ |
$? | 最後に行ったコマンドの戻り値 |
$$ | 現在のシェルのプロセス番号 |
$! | 最後にバックグラウンドで行ったコマンドのプロセス番号 |