
我發現了一些關於 Windows 中命令行別名的帖子,但大多數都與cd
經常使用的長命令/路徑別名有關,我無法讓它們滿足我的需要。
就我而言,當我使用命令提示字元時,我會不頻繁地在 Windows 和 MacOS 之間來回切換。由於我在兩者之間來回切換,因此習慣性地,我會在其中之一中輸入ls
or並得到明顯的錯誤。dir
具體到這個問題,我想做的是將“ls”的某種類型的別名映射到“dir”,這樣如果我不小心輸入“ls”,我就可以獲得與“dir”命令相同的功能。我不需要任何複雜的參數映射,只需要ls
to 的簡單別名dir
。
如果有適用於 cmd 的解決方案,我將不勝感激。
答案1
在 PowerShell 中,dir
和ls
具有相同的效果,一個是另一個的別名。
答案2
在 PowerShell 中,預設情況下已經存在這樣的別名。 (更準確地說,兩者ls
和 dir
是Get-ChildItem
cmdlet 的別名。它還具有cat
、rm
等預設別名。
與 Bash 類似,PowerShell 也有別名和 shell 函數:
Set-Alias -Name ls -Value Get-ChildItem
Set-Alias -Name vim -Value notepad.exe
Remove-Item -Path Alias:curl -ErrorAction Ignore
Function kssh {ssh -o PreferredAuthentications=gssapi-with-mic $args}
DOSKEY 在控制台視窗層級定義別名;它們在Cmd 中工作,因為它一次讀取一整行,並讓控制台處理實際輸入(檔案製表符完成也由控制台提供),但在PowerShell 中不起作用,因為它以「原始」模式讀取鍵,一次一個鍵(它有自己的“PSReadline”,很像 Bash 的 readline)。