Alias
我的別名正在執行什麼命令?
在這個問題中,反復建議要找出執行檔的位置,應該執行
command -v file
.我現在已經嘗試
command -v ls
在幾個不同的系統上執行並且我不斷得到alias ls='ls --color=auto'
(總是在 Bash 中)。我有三個問題:
- 我錯過了什麼?這有什麼
command -v ls
幫助?- 鑑於這
which
不能正常工作(根據連結問題的評論和答案)並假設我沒有遺漏問題 1 中的任何內容並且command -v ls
確實有幫助,我怎麼知道ls
實際執行的是哪個?- 解決此問題的符合 POSIX 標準的方法是什麼?我的範例在 Bash 中,但我希望有一個可移植的解決方案。我知道
type -P
。
我相信我已經找到了所有三個問題的答案。一旦你看到它就很明顯了,但對我來說根本不明顯**,**因此這個問題。
- 刪除別名
- 執行
command -v
。(參見POSIX)。- Realas 如果這是一個人的願望。
對於那些可能不確切知道如何執行此操作的人的具體範例,下面我將此過程應用於
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'