前回のエントリで当初「date -s "`LANG=C date`"」というコマンドをご紹介していたのですが、このオプションでは誤動作する場合があるとのご指摘をいただきました。具体的には、環境変数LC_ALLまたはLC_TIMEが設定されている場合に、誤った時刻が設定されてしまいます。 # LANG=C date Wed Jul 4 02:47:29 JST 2012 # export LC_ALL=ja_JP.UTF-8 # LANG=C date 2012年 7月 4日 水曜日 02:47:38 JSTこの状態でdate -sコマンドを投入すると、文字列の解析に失敗して常に午後8時となります。 # export LC_ALL=ja_JP.UTF-8 # date -s "`LANG=C date`" 2012年 7月 4日 水曜日 20:12:00 JSTロケールの設定はLC_ALL→