我想在我的Jenkins工作中运行此脚本。我的目标是将cat输出保存到变量中,以便可以在其他地方使用它。
#!/bin/bash
ssh myserver.com <<EOF
echo "Start."
CYCLE=$(cat /path/myfile.txt)
echo $CYCLE
...
echo "End."
exit
EOF
我在詹金斯日志中收到以下错误: cat: /path/myfile.txt: No such file or directory
我可以在终端控制台中成功运行相同的命令。$(cat /path/myfile.txt)
由于https://stackoverflow.com/a/34074453/4565322,我认为该命令是在与远程服务器的连接建立之前执行的。也是“开始”。在错误消息之后打印,尽管它应该出现在错误消息之前。
如何告诉我的脚本等待cat命令的执行,直到服务器连接建立?
用单引号将命令起作用:
ssh yourserver 'echo "Start.";CYCLE=$(cat /your/file); echo $CYCLE; echo "End."'
ssh yourserver <<'EOF'
echo "Start."
CYCLE="$(cat /your/file)"
echo $CYCLE
echo "End."
EOF
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句