使用ssh传递远程Python脚本的参数

使用ssh传递远程Python脚本的参数,python,shell,ssh,Python,Shell,Ssh,我正在尝试使用ssh将参数“varname”传递给远程定位的python脚本,但无法这样做。获取错误“提供的报告uuid无效” 报告的值如下所示 efc4c534-5d1d-11e9-844b-fa163e069095仅在本地定义,因此需要扩展$varname: 使用双引号而不是单引号,请参见例如 删除$varname之前的反斜杠 Echo输入报告ID 读取varname ssh-troot@192.168.10.10“python myscript.py--用户User1--密码Passw

我正在尝试使用ssh将参数“varname”传递给远程定位的python脚本,但无法这样做。获取错误“提供的报告uuid无效”

报告的值如下所示
efc4c534-5d1d-11e9-844b-fa163e069095仅在本地定义,因此需要扩展
$varname

  • 使用双引号而不是单引号,请参见例如
  • 删除
    $varname
    之前的反斜杠
Echo输入报告ID
读取varname
ssh-troot@192.168.10.10“python myscript.py--用户User1--密码Password1--报告$varname”

这里的问题是什么?当您尝试上述操作时,出现了什么问题?@deveshkumarsing问题已更新。希望会有帮助!听起来这与您的程序/数据库有关,而与SSH无关。您可以登录到计算机并运行相同的命令吗?@PaulH对于静态值--report,程序可以在远程和本地运行。我希望动态提供值(在运行时)。为什么\before
$varname
varname
仅在本地定义,不在远程计算机上定义。根据
varname
的值,可能需要在远程端引用其扩展名<代码>ssh。。。“python…“$varname”就足够了,只要您能保证
$varname
本身不包含任何单引号。如果可能的话,事情会变得更棘手。说得对。在OP的例子(EFC4C534-5D111114-BFA163E069095)的情况下,这可能是不必要的。但是,粗略的事情是,使用一个脚本,可以有效地让您运行任意代码:考虑<代码> VARNEX=“;ECHO GOCHA”< /C>。最好根据预期的输入格式验证
varname
,并且只有在验证成功时才运行
ssh
。True。请随意编辑或删除我的答案。这个问题看起来像是重复的,而且投了反对票。
Echo Enter the Report ID

read varname

ssh -t root@192.168.10.10 '
  python myscript.py --user User1 --password Password1 --report \$varname
'