Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将参数传递给本地存储的bash脚本,该脚本需要使用Python Paramiko在远程计算机上执行_Python_Bash_Ssh_Parameter Passing_Paramiko - Fatal编程技术网

将参数传递给本地存储的bash脚本,该脚本需要使用Python Paramiko在远程计算机上执行

将参数传递给本地存储的bash脚本,该脚本需要使用Python Paramiko在远程计算机上执行,python,bash,ssh,parameter-passing,paramiko,Python,Bash,Ssh,Parameter Passing,Paramiko,我在本地机器上存储了一个shell脚本。脚本需要如下参数: #/bin/bash 回声1美元 回声2美元 我需要在远程机器上运行此脚本(而不复制远程机器上的脚本)。我正在使用Python的Paramiko模块来运行脚本,并且可以在远程服务器上调用,而不会出现任何问题 问题是我无法将这两个参数传递给远程服务器。以下是在远程服务器上执行本地脚本的python代码片段: 打开(“test.sh”、“r”)作为f: mymodule=f.read() c=paramiko.SSHClient() k=

我在本地机器上存储了一个shell脚本。脚本需要如下参数:

#/bin/bash
回声1美元
回声2美元
我需要在远程机器上运行此脚本(而不复制远程机器上的脚本)。我正在使用Python的Paramiko模块来运行脚本,并且可以在远程服务器上调用,而不会出现任何问题

问题是我无法将这两个参数传递给远程服务器。以下是在远程服务器上执行本地脚本的python代码片段:

打开(“test.sh”、“r”)作为f:
mymodule=f.read()
c=paramiko.SSHClient()
k=paramiko.RSAKey.from_private_key(private_key_str)
c、 设置缺少主机密钥策略(paramiko.AutoAddPolicy())
c、 连接(hostname=“hostname”、username=“user”、pkey=k)

stdin,stdout,stderr=c.exec_命令(“/bin/bash-执行相同的操作,您在
bash中执行的操作是:

command=“/bin/bash-s{v1}{v2}”。格式(v1=var1,v2=var2)
stdin,stdout,stderr=c.exec_命令(command)
标准写入(mymodule)
stdin.close()

如果您更喜欢heredoc语法,如果希望展开参数,则需要使用单引号:


command=“/bin/bash-s{v1}{v2}在
bash中执行相同的操作:

command=“/bin/bash-s{v1}{v2}”。格式(v1=var1,v2=var2)
stdin,stdout,stderr=c.exec_命令(command)
标准写入(mymodule)
stdin.close()

如果您更喜欢heredoc语法,如果希望展开参数,则需要使用单引号:

command=“/bin/bash-s{v1}{v2}
command=“/bin/bash-s{v1}{v2}
command=“/bin/bash-s{v1}{v2}”