cronを実行するときにfree -hの出力で異なる数値区切り文字を使用するのはなぜですか?

cronを実行するときにfree -hの出力で異なる数値区切り文字を使用するのはなぜですか?

メモリツールの人が読める形式は、印刷時にfreeピリオドを使用して数字を印刷しますが、crontabで実行するとコンマを使用するのはなぜですか?

サンプル:

free -h

            total       used       free     shared    buffers     cached
Mem:          3.7G       2.3G       1.4G       145M       675M       869M
-/+ buffers/cache:       839M       2.9G
Swap:         3.9G       385M       3.5G

しかし、crontabで実行すると:

             total       used       free     shared    buffers     cached
Mem:          3,7G       2,3G       1,4G       145M       675M       869M
-/+ buffers/cache:       840M       2,9G
Swap:         3,9G       385M       3,5G

非常に予期しない動作であるため、これをバグと呼びます。これは間違った公式です。

ベストアンサー1

シェルとcronjobのロケール設定が異なります。両方の設定で実行してこれを確認し、locale適切な変数を設定してcronjobのロケールを変更できます(LC_ALL微妙さが必要ない場合はハンマーを使用できます)。locale(7)詳細はこちら)。

おすすめ記事