You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制命令参数从标准输入(stdin)读取?以不可修改Python脚本为例

解决方法

因为目标脚本没有内置处理-代表读取标准输入的逻辑,所以没法通过传-让它自动读stdin,但可以通过shell层面的技巧,把stdin的内容直接作为--password的参数值传递:

  • 读取标准输入内容作为密码
    执行以下命令,输入密码后按Ctrl+D结束输入(如果是从管道传入内容则自动完成):

    python my_script.py --username <username> --password "$(cat)"
    

    $(cat)会将标准输入的全部内容捕获,作为参数值传给--password,脚本拿到的就是实际密码而非-。

  • 从文件读取密码
    如果密码保存在文件(比如pass.txt)中,可直接读取文件内容作为参数:

    python my_script.py --username <username> --password "$(< pass.txt)"
    

    这是Bash的原生语法,能高效读取文件内容并避免额外进程。

  • 交互式安全输入
    想要手动输入且不回显密码,用以下命令:

    read -s -p "Enter password: " pwd && python my_script.py --username <username> --password "$pwd"
    

    -s参数会隐藏输入内容,避免密码在终端明文显示。

内容的提问来源于stack exchange,提问作者Ezra Henley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:57:04