今月までは、シェルの構成はかなり単純です(主に、.bashrc
または.bash_profile
いくつかのエイリアスを使用して)。しかし、zshとbashのどちらを使用しているかによって異なる動作が得られるように、リファクタリングしています。彼らは最初に何でも機能する一般的なシェル構成ファイルを調達し、次に使用されている特定のシェルに特化します(私はこれにシンボリックリンクします)。
今日ls
は仕事をやめてびっくりしました。リファクタリング中に.bashrc
エイリアスがあったことが判明しました
alias ls='ls --color=always'
それがために何かを壊したls
OSXのターミナル上のbashで。BSD ls
は-G
色が好きだが、GNU(またはUbuntuにあるものは何でも)が好きだ--color
と思ったら、かなりの数のオプションが異なることは明らかでした。
私の質問は、BSDとGNU coreutilsの間のオプションの違いなどを説明する最良の方法は何ですか?if
ブロックでenv変数をテストして、使用されているOSを確認し、正しい動作を適用する必要がありますか?または、OSごとに個別の構成ファイルを作成する方が理にかなっていますか?
これらの質問への回答は主観的である可能性がありますが、BSDとGNU coreutilsの違いの範囲の概要と、ほとんどの* nixで汎用構成を使用可能にするためにこれらを回避する戦略はかなり客観的なようです。
ls -c
は異なりls --color
ます。修正するために質問を編集しました。