GVKun编程网logo

在远程ssh命令中传递变量(在远程ssh命令中传递变量是什么)

16

在本文中,您将会了解到关于在远程ssh命令中传递变量的新资讯,同时我们还将为您解释在远程ssh命令中传递变量是什么的相关在本文中,我们将带你探索在远程ssh命令中传递变量的奥秘,分析在远程ssh命令中

在本文中,您将会了解到关于在远程ssh命令中传递变量的新资讯,同时我们还将为您解释在远程ssh命令中传递变量是什么的相关在本文中,我们将带你探索在远程ssh命令中传递变量的奥秘,分析在远程ssh命令中传递变量是什么的特点,并给出一些关于bash – 如何在shell脚本中的curl命令中传递一个变量、bash – 通过ssh传递变量、bash – 通过ssh传递变量不起作用、Bash:在SSH命令中使用EXPORT的实用技巧。

本文目录一览:

在远程ssh命令中传递变量(在远程ssh命令中传递变量是什么)

在远程ssh命令中传递变量(在远程ssh命令中传递变量是什么)

我希望能够使用ssh从我的机器上运行命令并传递环境变量 $BUILD_NUMBER

这是我正在尝试的:

ssh pvt@192.168.1.133 ''~/tools/myScript.pl $BUILD_NUMBER''

$BUILD_NUMBER 是在进行ssh调用的计算机上设置的,并且由于该变量在远程主机上不存在,因此不会被提取。

如何传递的值$BUILD_NUMBER

答案1

小编典典

如果您使用

ssh pvt@192.168.1.133 "~/tools/run_pvt.pl $BUILD_NUMBER"

代替

ssh pvt@192.168.1.133 ''~/tools/run_pvt.pl $BUILD_NUMBER''

您的外壳程序会$BUILD_NUMBER在将命令字符串发送到远程主机之前进行插值。

bash – 如何在shell脚本中的curl命令中传递一个变量

bash – 如何在shell脚本中的curl命令中传递一个变量

我有卷曲命令:
curl -u ${USER_ID}:${PASSWORD} -X GET 'http://lppma670.gso.aexp.com:8080/rest/job-execution/job-details/${job_id}'

变量job_id在其中有一个值,例如1160.当我在shell中执行curl命令时,会给我以下错误:

{"message":"Sorry. An unexpected error occured.","stacktrace":"Bad Request. The request Could not be understood by the server due to malformed Syntax."}

如果我在命令中直接传递号码’1160′,如下所示,curl命令可以正常工作.

curl -u ${USER_ID}:${PASSWORD} -X GET 'http://lppma670.gso.aexp.com:8080/rest/job-execution/job-details/1160'

有人可以帮我吗我想要在curl命令中传递变量的值.

在 shell中使用变量时,只能使用双引号,而不是单引号:单引号中的变量不会展开.
了解’和’和`之间的区别,见 http://mywiki.wooledge.org/Quotes和 http://wiki.bash-hackers.org/syntax/words

bash – 通过ssh传递变量

bash – 通过ssh传递变量

我正在尝试编写一个脚本来登录几个远程服务器并在每个服务器中执行一个脚本.
但是,我想通过ssh传递一个变量.像这样的东西:

var="/home/dir/"

  ssh -T $mchname <<'ENDSSH'    
    $var"run_script" < input > output &    
ENDSSH

这种天真的尝试不起作用($var只是null).什么是正确的语法?提前致谢.

解决方法

删除ENDSSH周围的引号.它们阻止了 here document内变量的扩展.

bash – 通过ssh传递变量不起作用

bash – 通过ssh传递变量不起作用

我试图通过ssh连接传递变量,如下所示:

working_dir = “/ home / user中/ some_dir /”

ssh $USER @ some_host’qsub $working_dir / some_file.txt’

连接本身已建立,但此代码给出了以下错误:

working_dir:未定义的变量.

这可以通过远程机器没有变量$working_dir来解释,因为它是在本地定义的.

有没有办法在本地获取命令中的值?

尝试使用双引号,它应该在本地评估变量:

ssh $USER @ some_host“qsub $working_dir / some_file.txt”

Bash:在SSH命令中使用EXPORT

Bash:在SSH命令中使用EXPORT

执行此命令时:

user@local:~ >ssh user@remote " export myvar=myvalue ; echo myvar=$myvar ; "

我得到输出:

myvar=

直接在远程计算机上运行时,我得到了预期的结果:

user@remote:~ > export myvar=myvalue ; echo myvar=$myvar ;

输出:

myvar=myvalue

那么如何在ssh命令中设置变量呢?

解决方法

那是因为你使用双引号,所以在调用ssh之前,变量正在本地机器上展开.使用单引号:

ssh user@remote 'export myvar=myvalue ; echo myvar=$myvar'

关于在远程ssh命令中传递变量在远程ssh命令中传递变量是什么的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于bash – 如何在shell脚本中的curl命令中传递一个变量、bash – 通过ssh传递变量、bash – 通过ssh传递变量不起作用、Bash:在SSH命令中使用EXPORT等相关内容,可以在本站寻找。

本文标签: