gpt4 book ai didi

python - 使用 python 变量执行 shell 命令

转载 作者:太空宇宙 更新时间:2023-11-04 09:52:16 24 4
gpt4 key购买 nike

我在 bash 上有脚本,我在其中为用户生成了用户名、密码和 ssh key 。用于创建 ssh-key 的部分:

su $user -c "ssh-keygen -f /home/$user/.ssh/id_rsa -t rsa -b 4096 -N ''"

如何在 Python 中使用 os.system 做同样的事情?我试过这个:

os.system('su %s -c "ssh-keygen -f /home/%s/.ssh/id_rsa -t rsa -b 4096 -N ''"', user)
TypeError: system() takes at most 1 argument (2 given)

我也试过:

os.system('su user -c "ssh-keygen -f /home/user/.ssh/id_rsa -t rsa -b 4096 -N ''"')

当然也不行。

最佳答案

使用 os 包格式化您的指令;例如:

import os

user = 'joe'
ssh_dir = "/home/{}/.ssh/id_rsa".format(user)
os.system("ssh-keygen -f {} -t rsa -b 4096 -N ''".format(ssh_dir))

关于python - 使用 python 变量执行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47308367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com