testコマンドで己をテストする


アニメ『一週間フレンズ。』(2014)
一週間きっかりで、記憶をなくしてしまう高校二年生「藤宮香織」と、あの手この手で「藤宮香織」と仲良くなろうとする同級生「長谷祐樹」のお話です。2017年2月に映画(山崎賢人x川口春奈)も公開予定のようです。
記憶をなくす系で、一番面白かった映画が、『50回目のファーストキス』(2004)。ドリューバリモアxアダムサンドラー。こちらのヒロインは、1日で記憶がなくなるので、アタックする方はたいへんです。男子、頑張ってるなあと思いました。

私もいろいろと忘れっぽいので、工夫しながらlinux学習しています。普段からFHSのディレクトリ構成を意識することや一時的に使用するディレクトリ名やファイル名は、決まった名前にしたり。忘れそうなコマンドを定期的に使って思い出したり。

私がよく忘れるコマンドの代表が、if [];then〜fi コマンドで使う[]内のオプション。

[]は、以下のように分岐処理に使います。
if [ -f ファイル ];then
存在する場合の処理
fi

~$ ls
~$ if [ -f a ];then echo FOUND;fi
~$ touch a
~$ !i
if [ -f a ];then echo FOUND;fi
FOUND
~$ 

定期的にif []文を使って、思い出すのも良いのですが、testコマンドという便利なコマンドがあります。何が便利かというと[]と比べてtestはキー入力時に指が近いってところが便利なのですが(立派な動機かと思います)
私はこのtestコマンドを時々使うことで、比較オプションを思い出し、頭の再整理をしています。

なんとなく-fだったかなあぐらいの記憶であれば、

~$ test -f a;echo $?
1

チェックに成功したら0
失敗したら1です。
この値は、他のコマンドも共通です。
rmの例です。

~$ ls
~$ rm a;echo $?
rm: 'a' を削除できません: そのようなファイルやディレクトリはありません
1
~$ 

-f自体を全く思い出せないのであれば、

~$ man test

(man [でも表示できます)

以下は、よく使う自分自身へのチェックコマンドです。

~$ test -f a;echo $?
1
~$ touch a
~$ !test
test -f a;echo $?
0
~$ test -d a;echo $?
1
~$ rm a;mkdir a
~$ !test
test -d a;echo $?
0
~$ test -z "";echo $?
0
~$ test -z "AAA";echo $?
1
~$ 

echo $?もよく忘れるので、合わせて使います。

使わなければ、どんどん忘れていくのが人間ですので、定期的にコマンドを使って、頭をリフレッシュさせましょう。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA