エイリアスで隠されたコマンドの実行

エイリアスで隠されたコマンドの実行

bashに次のエイリアスがあり、オプションなしで通常の呼び出しが必要であるとしますalias ls='ls --color=auto'lsエイリアスを解放し、コマンドを実行してからエイリアスを再指定する唯一の方法はありますか?それとも、いくつかのきちんとしたヒントや回避策がありますか?

答え1

バックスラッシュを前に付けてエイリアスを無効にすることもできます。\ls

編集:同じことを行う他の方法は次のとおりです。

「コマンド」を使用してください:フォローcommand lsしてくださいミケル

フルパスを使用:/bin/lsフォローウーサー

コマンドを引用する"ls"か、'ls'マイケルのコメントに従ってください。

エイリアスを使用してターミナルセッションを一時的に削除できますunalias command_name

答え2

これがこのcommandコマンドの目的です。

努力する

command ls

これは、シェルにエイリアスと機能をバイパスするように指示します。

この方法はサポートしています強く打つ扱いにくい禁煙健康増進協会/スプリント。

答え3

エイリアスは定義へのショートカットにすぎません。この例で定義されているエイリアスは文字列であり、実行されlsますls --color=auto。この動作を望まない場合は、ls絶対パスを使用してバイナリを呼び出すことができます。

したがって、実行すると、定義し/bin/lsたエイリアスではないため、色なしで出力が生成されます。

エイリアスを別の名前に変更したり、lsカラーパラメータなしで実行される新しいエイリアスを追加することもできます。

答え4

個人的には、私はコマンドと同じ名前でエイリアスを定義するのを避けるので、ls常に実際のコマンドが呼び出されます。l、、llなどのさまざまなオプションの組み合わせにエイリアスまたは関数がありますlg。 (つまり、unalias ls.bashrcまたはそれが必要という意味です.cshrc。)

私は私がどのオプションを好むかについてのオペレーティングシステムの仮定(コマンド自体の設計者の仮定を無視するls)が私の個人的な好みとほとんど一致しないことを知りました。私がこの外観について嫌いなことの1つは、ls --color=auto白い背景の黒いテキストと黒の背景の白いテキストの間で読みやすさが大きく異なることです。

YMMV、他の解決策も確かに知っておく価値があります。

関連情報