ところでbashのtest commandってどうなってるの
最近shellの話が多いですが今回もshellです。
ちょっと前にチームのテクニカルリーダーから教えてもらった話に
感動したので忘備録として書きます。
貝を描きましたがうまくできませんでした。
みんな大好きシェルスクリプトでは、
testコマンドを使うことが多いと思います。
例えばファイルの存在をチェックする時は、
if test -e okome.txt; then echo 'okome aruyo' fi
こんなふうに書けると思います。
ただ、こっち(↓)の方がわりと主流ですよね。
if [ -e okome.txt ]; then echo 'okome aruyo' fi
そして、ここで使われている" [ "って、
実はちゃんと内部コマンド(組み込みコマンド)として存在しているんです。
test commandを探してみます。
ということは、" [ " commandも、
存在しちゃいます。
こんな感じで、test commandと同じように使える理由が分かりますね!
ただし、[ commandの方にはルールもあります。
例えば、" ] "をなしで実行すると、
また、
当たり前かもしれませんが、コマンドなのでスペースないと怒ります。
また、この [ command を実行できないOSもあるようなので注意です。
おしまい。