我有 2 个 shell 脚本,分别称为 script1.sh (在本地服务器上执行)和 script2.sh (在远程服务器上执行,我将其传递给 ssh 命令)。我的 script1.sh 正在连接到 unix 服务器并执行 script2.sh ,如下所示。
declare RESULT=$(sshpass -p 'password' ssh [email protected] /cdn-cgi/l/email-protection "bash -s" < ./script2.sh )
script2.sh 进行一些计算并返回一些变量来调用脚本,即 script1.sh
#!/bin/sh
declare var1="fgte"
return var1
我想从在服务器上执行的 script2.sh 返回 var1,并且应该向 script1.sh 返回一些值。我怎样才能做到这一点?我需要读取 script1.sh 中 var1 的值。请帮我。
最简单的方法是使用 stdout,并在您的程序中打印结果script2.sh
(using echo
正如你所做的那样),并将其收集在script1.sh
e.g.
#!/bin/sh
result=$(script2.sh $var)
当您从子脚本返回多个值时,这会变得更加复杂,并且您必须描述/解析。然而,对于单一值来说,这是一种简单而实用的方法。
请注意,这与 shell 脚本不同退出代码,传统上用于指示脚本是否成功返回。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)