如何将“”作为参数传递给subprocess.check\u调用?

2024-10-17 08:21:57 发布

您现在位置:Python中文网/ 问答频道 /正文

使用溶液时

ssh-keygen -t rsa -N "" -f my.key

在python3中Automating "enter" keypresses for bash script generating ssh keys我无意中发现了以下问题:

sp.check_call(["ssh-keygen", "-t", "rsa", "-N", "\"\"", "-f", "my.key"])

以及

sp.check_call(["ssh-keygen", "-t", "rsa", "-N", "''", "-f", "my.key"])

失败原因

Saving key "my.key" failed: passphrase is too short (minimum five characters)

以及

sp.check_call(["ssh-keygen", "-t", "rsa", "-N", "", "-f", "my.key"])

使ssh-keygen提示输入应该通过传递-N ""来避免的键

用什么pythonic方法接收命令-N ""?我知道可以将命令和参数作为一个字符串传递,这可能会解决这个问题,或者从引用的问题的答案中采用另一种方法。我想扩展我的Python知识


Tags: 方法key命令mycheckcallrsassh
1条回答
网友
1楼 · 发布于 2024-10-17 08:21:57
sp.check_call(["ssh-keygen", "-t", "rsa", "-N", "", "-f", "my.key"])

在命令行和Docker映像python:3中工作,但在Docker映像google/cloud-sdk中用python3 script.py调用脚本时不工作

这很有趣,但如果tty在一些评论中缺失,可能是由不同的行为引起的

相关问题 更多 >