/bin/true の実装

これは面白いと思ったので、awk で実装してみます。 /bin/true の実装からですが、awk でも同じようなことができます。

#! /usr/bin/gawk -f
# true.awk

もっとも最初の 1 行だけでもいいのですが、これで true コマンドのできあがりです。

true コマンドは「引数に何を書いても何もせずに true (真) を返す」ので、例えば以下のようにして使えます。

$ chmod 755 true.awk
$ ./true.awk ls

って、このコマンドって使うところってあるんでしょうか? Command-line-fu に聞いてみましょう。 以下のような「CPU の負荷を発生させる」ものはありましたが、明確に true の機能を有効活用したものはありませんでした。

$ while true; do /bin/true; done

true コマンドの逆の false コマンドというものがありますが、これは以下のように書けます。

#! /usr/bin/gawk -f
# false.awk

BEGIN {
    exit(1);
}

実行してみます。

$ gawk -f false.awk gawk
[1]    23016 exit 1     gawk -f false.awk gawk

Unix ライクな OS のコマンドの多くは awk でも十分実装できるものが多く含まれていますので、試してみてはいかがでしょうか。

tag_nawk.pngtag_nawk.pngtag_nawk.pngtag_nawk.png