FC2ブログ

シェルスクリプトでif 文 その2

シェルスクリプトでif 文
が長文になりそうなので
わけてみました

それでは、条件式のメモの続きです

num1 -gt num2

これは num1 が num2 より大きければ、という意味です
つまり
num1 > num2
というかんじです

もちろん、逆パターンもあります
それが
num1 -lt num2
です
これは num1 が num2 より小さいなら、となります
num1 < num2
というかんじです

ここまでが比較関連になります
これからが、ファイル検索などになります

-d ディレクトリのパス
ディレクトリが存在しているなら
という意味になります
if [ -f /home/backup ]
としたなら
/home/backup
が存在していれば、という意味になりますし
if [ -f $1 ]
なら引数に入力したディレクトリが存在しているなら
という意味になります

シェルスクリプトなどで使いまわす場合、
基本的にはファイル名や絶対パスを記述してしまうより
$1 など、引数を指定したほうが、あとあと使うときに修正せずにすみます


-e ファイルのパス
ファイルが存在しているなら、という意味になります
if [ -e $1 ]
$1 に入力したファイルが存在しているなら、という意味になります
仮に、/home/wiki/testfile
と入力した場合、
/home/wiki/testfile が存在しているならば、という意味になります


-r ファイルのパス
これは、ファイルが存在し、読み取り可能なら
という意味です
rは。readからきていると思われます

-w ファイルのパス
これも似たようなもので、
ファイルが存在し、書き込み可能なら
という意味になります

-a
たぶん、一番わかりにくいです
これは、論理式のANDと同じ意味です
C, java でいう && というものです


使い方としては
if [ -r $1 -a -w $1 ]
のように使うようです

これは
if [ $1が読み取り可能 && $1 が書き込み可能 ]
という意味になります
つまり、読み書き可能ファイルであれば
という意味になります

スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック