私のエイリアスはどのコマンドを実行していますか? [コピー]

私のエイリアスはどのコマンドを実行していますか? [コピー]

存在するこれ質問は、実行可能ファイルがどこにあるかを調べるには、実行する必要があることを繰り返し提案しますcommand -v file

command -v ls私はこれをいくつかの異なるシステムで実行してみましたが、私は常に(常にBashalias ls='ls --color=auto'で)起こります。

3つの質問があります。

  1. 私は何を見逃していますか?どのcommand -v lsように役立ちますか?

  2. which(リンクされた質問に対するコメントと回答に基づいて)うまくいかず、質問1で何も欠けておらず、役に立つと仮定すると、どれが実際に機能しているのかをどうやってcommand -v ls知ることができますか?ls

  3. この問題を解決するPOSIX互換の方法は何ですか?私の例はBashにありますが、ポータブルソリューションが欲しいです。私はについて知っていますtype -P

答え1

私は3つの質問すべてに対する答えを見つけたと思います。一度見れば恥ずかしいのに僕には恥じない別の言葉だから質問です。

  1. エイリアスの削除
  2. ランニングcommand -v。 (望むよりPOSIXここ)。
  3. それが人の風なら現実的だ。

どうすればよいかわからない人のために、以下にこのプロセスを適用した具体的な例を示しますls

$ command -v ls
alias ls='ls --color=auto'
$ unalias ls                   # Step 1 above
$ command -v ls                # Step 2 above
/bin/ls
$ alias ls='ls --color=auto'   # Step 3 above
$ command -v ls
alias ls='ls --color=auto'

関連情報