質問: zshの `ls -l` コマンドで、タイムスタンプの書式をデフォルトのものから変えたいと思っています。 `--time-style` というオプションがあるのでそれを使うと、以下のようなエラーが出ます。 ``` $ ls -l --time-style=full-iso ls: illegal option -- - usage: ls [-@ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1%] [file ...] ``` `ls: illegal option -- -` で検索してみると、これはmacOS特有の問題で、`alias ls='ls --color=auto'` というエイリアスを設定していると起こるようなのですが、このようなエイリアスを設定したことはありません。 zshはほぼ初期状態のまま使っています。 いろいろ調べましたが全くわかりません。 やりたいことは `ls -l` で表示されるタイムスタンプを`年月日 時分秒`の表記にしたいだけなのです。 お力を貸してください。 環境は、macOS Catalina(10.15.5)とzsh 5.7.1 (x86_64-apple-darwin19.0)です。
回答: おそらく macOS の ls コマンド(BSD由来のコマンド)を実行しているのだと思います。 `which ls` で、何が表示されますか? /usr/bin/ls の場合は、BSD 由来のコマンドなので、`--time-style` オプションはありません。 /usr/bin/ls で、ISO形式の日付を出力するには、BSDのlsのlong formatで日付をISO形式に 等のように工夫が必要です。