远程执行java -jar或其他一些linux命令和脚本时报command not found

45 篇文章 11 订阅

有时候在linux本机或Xshell上执行命令或脚本时可以顺利执行,但是当利用代码远程调用时却报找不到命令,这时我们在要执行的命令前加上:

source /etc/profile

1.拿python中的paramiko模块为例

class TransportClient(object):
    def __init__(self, host, port, username, password):
        self.trans = paramiko.Transport((host, port))
        self.connect = self.trans.connect(username=username, password=password)
        self.ssh = paramiko.SSHClient()
        self.ssh._transport = self.trans

    def exec_command(self, cmd):
        stdin, stdout, stderr = self.ssh.exec_command(cmd, get_pty=False)
        print stdout
        return stdout

    def exec_commands(self, cmds):
        for i in cmds:
            stdin, stdout, stderr = self.ssh.exec_command(i, get_pty=False)

    def close_ssh(self):
        self.trans.close()

调用时:

start = "source /etc/profile;nohup java -jar /mnt/test.jar &"
ssh.exec_command(start)

2.在远程调用脚本时,在执行的命令前加入该命令,如start.sh

#!/bin/bash

source /etc/profile
nohup java -jar test.jar &

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纯洁的小魔鬼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值