如何在Windows 10/11的CLI或PowerShell中实现Linux Bash的curl等效命令
Windows CMD/PowerShell 等效于 Linux
sh <(curl https://sample.com/cli.sh) 的实现方法 一、Windows 命令提示符(CMD)实现
CMD本身不支持Bash的进程替换语法,需要分两步操作:
- 先将远程脚本下载到本地:
curl https://sample.com/cli.sh -o cli.sh - 依赖Bash环境执行脚本(比如Git Bash、WSL的Bash或者Windows自带的
bash.exe):bash cli.sh
注意:如果没有Bash环境,CMD无法直接运行.sh脚本,需要先安装相关工具。
二、PowerShell 实现
PowerShell有几种等效方式,同时也支持你自己的cli.ps1脚本:
1. 直接执行远程.sh脚本(类似进程替换的效果)
可以用管道或者命令替换的方式直接传递脚本内容给Bash:
# 管道方式 curl https://sample.com/cli.sh -UseBasicParsing | bash # 命令替换方式 bash -c "$(curl https://sample.com/cli.sh -UseBasicParsing)"
2. 先下载再执行(更安全)
先下载脚本到本地检查内容,确认安全后再执行:
# 下载脚本 curl https://sample.com/cli.sh -UseBasicParsing -o cli.sh # 查看脚本内容 Get-Content cli.sh # 执行脚本 bash cli.sh
3. 执行你自己的cli.ps1脚本
如果是本地的cli.ps1,直接在PowerShell中运行:
.\cli.ps1
如果遇到执行策略限制,可以临时绕过:
powershell -ExecutionPolicy Bypass -File .\cli.ps1
如果是远程的cli.ps1,同样建议先下载到本地检查后再执行,避免直接远程执行的风险:
curl https://your-url/cli.ps1 -UseBasicParsing -o cli.ps1 # 检查内容后执行 .\cli.ps1
安全风险提示
直接执行远程脚本确实存在安全隐患:
- 脚本可能被中间人篡改,执行恶意代码
- 无法提前确认脚本中的操作是否会损害系统
建议先查看脚本内容,确认安全后再执行,不要盲目运行来源不明的远程脚本。
内容的提问来源于stack exchange,提问作者dev
相关产品推荐
相关产品推荐

