如何使 cygwin 命令优先于内置的 Windows 命令?

如何使 cygwin 命令优先于内置的 Windows 命令?

如果我在 powershell 中运行 ls,则会运行 windows 内置的 ls 功能。

我怎样才能让 cygwin ls 运行?

我尝试将 cygwin/bin 移动到系统路径变量的顶部,但没有效果。

这是正常的吗?

答案1

在 powershell 中,'ls' 是一个别名。删除它的最简单方法是将以下内容之一添加到您的$PSPROFILE

Remove-Item Alias:\ls

或者,你可以将其替换为:

Set-Alias -Name:"ls" -Value:"ls.exe" -Option:Allscope

请记住,powershell 别名不能包含参数。如果需要参数,请先创建一个函数:

# The --% Is a powershell3+ feature to say "don't parse the rest of this line"
function lsFunc { ls.exe --% --color }
Set-Alias -Name:"ls" -Value:lsFunc -Option:AllScope

相关内容