UNIXのコマンドlsです。
Linux上なら
ls -l *.c
の「-l」オプションをコマンド名の直後に付けても、いちばん最後に付けても同じ結果になるのですが、Mac OS X上のターミナルで行うと
ls: -l: No such file or directory
と言われてしまいます。同じように、
rm -i ファイル名
とすると確認を求められるのですが、
rm ファイル名 -i
とするとファイルが削除されたあとで
rm: -i: No such file or directory
と表示されてしまいます。これはあとから思いついてオプションを入れることの多い自分にはちょっと使いにくい仕様です。仕様なのかどうか本当のことは分かりませんが。
オプションがコマンド名の直後だけで良いのならば実装するのは簡単です。ですが、ライブラリでも使えば何でもないだろうに。何か理由があるのでしょうか。
もしかすると、別のUNIX系コマンド群のセットのようなものがあって、置き換えると使えるようになったりするのでしょうか。あれば使いたいんだけど。
コメント
私もあまり詳しくないですが、GNU と BSD 系という 2 系統があり、Mac の内部は BSD 系のコマンドでできているので、BSD 系の ls 等が実行されています。
$ man ls
などすると、
BSD General Commands Manual
と出てきます。
詳しくないので、リンクを貼ります (英語):
https://unix.stackexchange.com/questions/104714/what-is-the-difference-between-unix-linux-bsd-and-gnu
個人的には GNU 系コマンドが好みなので、sed 等は GNU 系をインストールして、エイリアスを登録して使っています。GNU 版 ls があるかどうかは不明。
BSD系に固有のことだったのですね。詳しいリンクもありがとうございました。