Python 执行 Linux 命令的一个小问题,求大佬赐教

2018-08-22 09:33:58 +08:00
 keenking

python 连接 linux 服务器操作 输入命令后,linux 执行命令后需要按 enter 键才能继续执行 请问,enter 键的命令是什么? 下面是代码 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname='21.221.168.141', port=22, username='tomcat', password='tomcat123') stdin, stdout, stderr = ssh.exec_command('cd /yyy/abc;sh shutdown-box.sh abc;sh launch-box.sh') log = stdout.read() print(log)

解释下 comand: cd /yyy/abc (先进入 abc 文件夹) sh shutdown-box.sh abc (结束 abc 服务) sh launch-box.sh (启动 abc 服务,问题出现在这里,执行整个 launch 启动,需要人工按下“ enter ”键,但是我想在这个脚本让他执行到这里自动回车,请问有大佬知道需要怎么输入命令,会自动执行 enter 吗?)

1660 次点击
所在节点    问与答
4 条回复
jeremaihloo
2018-08-22 09:49:03 +08:00
你这个格式,没人想看下去呀
zhouquan03
2018-08-22 09:53:10 +08:00
enter 就是执行动作!
bomb77
2018-08-22 11:37:56 +08:00
一般来说 exec_command 会直接执行命令不需要额外传输回车
如果你这里一定要回车,可能和 launch-box.sh 脚本有关?
或者尝试下命令后面加上'\r\n'
baelish
2018-08-22 11:49:13 +08:00
expect

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/482061

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX