python脚本在远程SSH服务器上执行命令并且这个命令带有其他函数的参数怎么拼接
时间: 2024-02-27 08:51:34 浏览: 58
一个SSH批量远程执行脚本
5星 · 资源好评率100%
如果命令带有其他函数的参数,需要将这些参数转换为字符串并拼接到命令中。下面是一个示例:
```python
import paramiko
# 建立SSH连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('your_server_ip', username='your_username', password='your_password')
# 定义要执行的函数
def my_function(arg1, arg2):
# 执行函数操作
pass
# 定义函数参数
arg1 = 'value1'
arg2 = 'value2'
# 将参数转换为字符串,并拼接到命令中
command = 'python my_script.py --arg1={} --arg2={}'.format(arg1, arg2)
# 执行命令并获取输出
stdin, stdout, stderr = ssh.exec_command(command)
output = stdout.read().decode('utf-8')
# 关闭SSH连接
ssh.close()
```
在这个示例中,我们定义了一个名为`my_function`的函数,并且将其需要的参数`arg1`和`arg2`设置为了字符串`value1`和`value2`。然后,我们将这些参数拼接到命令中,使用`--arg1=`和`--arg2=`作为参数名。最后,我们通过SSH连接执行了这个命令,并且获取了命令的输出。
阅读全文