0%

【PowerShell小记】移除被别名“劫持”的常用命令

如果使用Windows系统内置的 PowerShell,那么,很容易发现 curlwget 等常用工具命令会报错,通常是选项参数错误。
这是因为,事实上此时调用的不是你以为的命令,而是某个别的命令的别名。Windows 系统内置的 PowerShell 自动创建了一些命令别名,与一些常用工具命令相同,并提供类似功能,但使用上会有一定的差异。
比如查看别名通常可以看到上述两个命令实际上是两个别名,均指向 Invoke-WebRequest

1
2
3
4
get-alias curl
get-alias wget
# curl -> Invoke-WebRequest
# wget -> Invoke-WebRequest

如果想要默认调用自己安装的工具,最简单的就是把这些别名删除。

1
2
remove-item alias:curl
remove-item alias:wget

执行以上命令只对当前会话有效,如果希望其成为默认配置,则需要将以上命令写入 $profile 指向的配置文件中,使得在 PowerShell 启动时生效。