POSIX_ME_HARDER


POSIX_ME_HARDER という古いjargonがある。POSIX的に正しい挙動をさせるたい時に設定する環境変数だったらしいが、後にPOSIXLY_CORRECTという名前に置き換えられた。

このPOSIXLY_CORRECTは現在でも有効のようだ。例えば、dfはデフォルトでブロック数を1KiB単位で表示するが、POSIXLY_CORRECTありだと512B単位で表示するようになる。

$ rpm -qf $(which df)
coreutils-8.21-13.fc19.x86_64
$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       30310428 7381132  21366572  26% /
devtmpfs         1019716       0   1019716   0% /dev
tmpfs            1025140       0   1025140   0% /dev/shm
tmpfs            1025140     288   1024852   1% /run
tmpfs            1025140       0   1025140   0% /sys/fs/cgroup
tmpfs            1025140       4   1025136   1% /tmp
/dev/sda1         487652   91254    366702  20% /boot
$ env POSIXLY_CORRECT= df
Filesystem     512B-blocks     Used Available Use% Mounted on
/dev/sda3         60620856 14762264  42733144  26% /
devtmpfs           2039432        0   2039432   0% /dev
tmpfs              2050280        0   2050280   0% /dev/shm
tmpfs              2050280      576   2049704   1% /run
tmpfs              2050280        0   2050280   0% /sys/fs/cgroup
tmpfs              2050280        8   2050272   1% /tmp
/dev/sda1           975304   182508    733404  20% /boot
$ env POSIX_ME_HARDER= df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       30310428 7381132  21366572  26% /
devtmpfs         1019716       0   1019716   0% /dev
tmpfs            1025140       0   1025140   0% /dev/shm
tmpfs            1025140     288   1024852   1% /run
tmpfs            1025140       0   1025140   0% /sys/fs/cgroup
tmpfs            1025140       4   1025136   1% /tmp
/dev/sda1         487652   91254    366702  20% /boot

POSIX_ME_HARDERは効かなかった。