如何使用ssh_comand 封装 onlineSwitch.sh
时间: 2024-03-12 15:44:09 浏览: 73
假设您想要在远程服务器上执行一个名为`onlineSwitch.sh`的脚本,您可以使用`ssh_command`封装该命令,并使用`os.system`或`subprocess`模块来执行。以下是一个示例代码:
```python
import os
# 设置SSH连接信息
host = 'remote.host.com'
user = 'remoteuser'
password = 'remotepass'
# 建立SSH连接
ssh_command = f'sshpass -p {password} ssh {user}@{host}'
# 在远程服务器上执行命令
command = './onlineSwitch.sh'
os.system(f'{ssh_command} "{command}"')
```
在这个示例中,我们使用`ssh_command`封装了SSH连接命令,然后使用`os.system`执行`./onlineSwitch.sh`命令。需要注意的是,如果`onlineSwitch.sh`脚本不在当前目录下,您需要使用`cd`命令进入该脚本所在的目录,然后再执行该脚本。
如果您需要在Python程序中获取`onlineSwitch.sh`脚本的输出,可以使用`subprocess`模块中的`check_output`函数。以下是一个示例代码:
```python
import subprocess
# 设置SSH连接信息
host = 'remote.host.com'
user = 'remoteuser'
password = 'remotepass'
# 在远程服务器上执行命令,获取输出
command = './onlineSwitch.sh'
output = subprocess.check_output(['sshpass', '-p', password, 'ssh', f'{user}@{host}', command])
# 打印输出
print(output.decode('utf-8'))
```
在这个示例中,我们使用`subprocess.check_output`函数执行`./onlineSwitch.sh`命令,并将输出保存在`output`变量中。需要注意的是,`subprocess.check_output`函数的第一个参数是一个列表,其中包含了需要执行的命令及其参数。然后,我们将输出解码为UTF-8格式,并打印输出。
阅读全文