x -ot y でファイルの新旧を調べようとして、
- bashビルトインのtest/[は、 xが存在しないとFalse
- /usr/bin/test、/usr/bin/[は、xが存在しないとTrue
#!/bin/sh
rm a
touch b
if /usr/bin/test ./a -ot ./b; then echo "T"; else echo "F"; fi
if /usr/bin/[ ./a -ot ./b ]; then echo "T"; else echo "F"; fi
if test ./a -ot ./b; then echo "T"; else echo "F"; fi
if [ ./a -ot ./b ] ; then echo "T"; else echo "F"; fi
で、実行結果は
$ ./testtest.sh
T
T
F
F
ふむ。そーゆーものであるのか。
0 件のコメント:
コメントを投稿