两个远程shell脚本通过文件通信



我真的需要帮助来理解我的shell脚本的奇怪行为。

实际上,我有两个脚本在不同的节点上运行。第一个脚本SSH到远程节点,并启动第二个脚本。第二个脚本计算成本并将其发送给第一个脚本。为此,第二个脚本SSH到第一个脚本的节点(询问节点),并将成本写入将由第一个脚本读取的文件中(如下所示)。

问题是,当cost的值为0时,第一个脚本继续正常执行,但如果cost的值为0,则第一个脚本保持挂起,并且在ssh之后不执行指令。

有人能解释一下吗?如果需要,我可以提供有关我的代码的更多细节。

提前谢谢你。

第一个脚本:

....
ssh $remore_node "sh cost_computation.sh <parameters>"
cost=`cat $response_file`
if [ $cost -eq 0 ]
then
    ....
else
    ....
fi

第二个脚本(cost_computation):

....
computation of the cost 
ssh $asker_node "echo $cost > $response_file"

你就不能这么做吗?

第一个脚本:

....
cost=$(ssh $remore_node "sh cost_computation.sh <parameters>")
if [ $cost -eq 0 ]
then
    ....
else
    ....
fi

第二个脚本(cost_computation):

....
computation of the cost 
echo $cost

相关内容

  • 没有找到相关文章

最新更新