如何永久删除默认的 Powershell 别名?

如何永久删除默认的 Powershell 别名?

由于某些未知原因,开发人员将“curl”作为 的别名Invoke-WebRequest,即使它与 curl 的正确实现不兼容,这意味着当我尝试发出 curl 请求时它会妨碍我。我可以使用 删除别名Remove-Item alias:curl,但下次启动 Powershell 时,别名又回来了。有没有办法永久删除它,而不必每次启动时都运行脚本?

答案1

如果您已经有 Powershell 配置文件,请跳过此步骤:

New-Item $profile -force -itemtype file

然后编辑您的个人资料:

notepad $profile

添加以下行:

remove-item alias:curl

保存、关闭记事本并使用以下命令重新加载配置文件,或者关闭并打开 Powershell 以应用配置文件:

. $profile

答案2

我会坚持使用curl.exe而不是仅仅使用curl。这种方法不依赖于使用特定配置文件运行的 PowerShell(并且可以使用-NoProfile开关在没有任何配置文件的情况下运行 PowerShell)。

答案3

添加Remove-Item alias:cur到 powershell 自动运行脚本

XP以上,2003年:

%ALLUSERSPROFILE%\Documents\Msh\profile.msh
%ALLUSERSPROFILE%\Documents\Msh\Microsoft.Management.Automation.msh_profile.msh

XP,2003年:

%USERPROFILE%\My Documents\msh\profile.msh
%USERPROFILE%\My Documents\msh\Microsoft.Management.Automation.msh_profile.msh

答案4

只需将其添加到您的 powershell 配置文件中:

notepad $profile

if(Test-Path -Path alias:curl) { Remove-Item alias:curl }

Windows Powershell 有此默认 curl 别名,但 Powershell Core 没有。
如果您希望您的配置文件可用于两者,则应Test-Path在删除之前添加。

相关内容