bashに次のエイリアスがあり、オプションなしで通常の呼び出しが必要であるとしますalias ls='ls --color=auto'
。ls
エイリアスを解放し、コマンドを実行してからエイリアスを再指定する唯一の方法はありますか?それとも、いくつかのきちんとしたヒントや回避策がありますか?
答え1
答え2
答え3
エイリアスは定義へのショートカットにすぎません。この例で定義されているエイリアスは文字列であり、実行されls
ますls --color=auto
。この動作を望まない場合は、ls
絶対パスを使用してバイナリを呼び出すことができます。
したがって、実行すると、定義し/bin/ls
たエイリアスではないため、色なしで出力が生成されます。
エイリアスを別の名前に変更したり、ls
カラーパラメータなしで実行される新しいエイリアスを追加することもできます。
答え4
個人的には、私はコマンドと同じ名前でエイリアスを定義するのを避けるので、ls
常に実際のコマンドが呼び出されます。l
、、ll
などのさまざまなオプションの組み合わせにエイリアスまたは関数がありますlg
。 (つまり、unalias ls
私.bashrc
またはそれが必要という意味です.cshrc
。)
私は私がどのオプションを好むかについてのオペレーティングシステムの仮定(コマンド自体の設計者の仮定を無視するls
)が私の個人的な好みとほとんど一致しないことを知りました。私がこの外観について嫌いなことの1つは、ls --color=auto
白い背景の黒いテキストと黒の背景の白いテキストの間で読みやすさが大きく異なることです。
YMMV、他の解決策も確かに知っておく価値があります。