如何不下载文件直接通过Python运行curl输出的脚本?
直接运行远程Python脚本的正确姿势
嘿,这个问题我之前也踩过坑!你之前的命令管道方向搞反啦,所以没法正常工作。下面给你两种靠谱的实现方式:
方法一:管道传递标准输入
这是最直接的写法,把curl拉取到的脚本内容通过管道传给Python,让它从标准输入读取代码执行:
curl 1.2.3.4/mypythonfile.py | python -
这里的-是关键,它告诉Python“从标准输入读取要执行的代码”,而不是从本地文件读取。
方法二:进程替换(更灵活,支持传参数)
如果你需要给脚本传递命令行参数,用进程替换的写法会更顺手:
python - <(curl 1.2.3.4/mypythonfile.py) arg1 arg2
<(...)是Shell的进程替换特性,它会把curl的输出临时放到一个虚拟文件里,然后Python就像读取本地文件一样读取这个虚拟文件的内容,后面的arg1 arg2就是传给脚本的参数。
重要提醒
直接运行远程脚本存在安全风险!一定要确保这个脚本的来源是完全可信的,避免执行恶意代码哦。
内容的提问来源于stack exchange,提问作者user1118764
相关产品推荐
相关产品推荐

