[英]How to alias a command to the same command with parameters?
我正在尋找一種在 powershell 中將“emacs”映射到“emacs -nw”的方法。 我試過這個(下面的截圖),並將它添加為別名,但它不起作用。 但是,命令“emacs -nw”在設置別名之前起作用。
而且我還想要一種方法來為以后的會話保存該別名(重新啟動 powershell 讓我回到零方格)
編輯:(附加信息)還嘗試創建一個函數,但是當調用該函數時,powershell 凍結了一段時間,然后我收到以下消息(下面的屏幕截圖)
EDIT2:(附加信息)起初, function enw {emacs.exe -nw}
(為了解釋目的將函數名更改為“enw”)似乎有效。 但是接下來有一個問題。 對於標准 emacs,我可以輸入emacs -nw filename.txt
,這將在emacs -nw
打開文件filename.txt
。 調用函數enw filename.txt
不會打開filename.txt
文件,提供與輸入enw
相同的結果。
對此的解決方案是function enw {Param($myparam) emacs.exe -nw $myparam}
創建一個函數,但在函數內顯式調用 .exe :
function emacs {emacs.exe -nw}
嘗試創建一個函數:
function emacs {emacs.exe -nw}
然后將其添加到您的 powershell 配置文件( $profile
)
我看到你有你的答案,但我只是想在這里拼出來。 您創建了一個遞歸函數。
通過不指定 .exe 作為擴展名的一部分,PowerShell 能夠將emacs
匹配回您的函數定義。 所以它會無限地調用自己。
您可以通過在注冊函數之前和之后檢查Get-Command emacs
的結果來看到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.