Shell脚本中 for循环中的一个小问题

@Description:

Shell脚本中 for循环中的一个小问题

起初是想编写一个shell脚本,在主节点master上执行,效果是ssh到各从节点,然后关闭,

结果后面发现,我将shutdown命令换行再写之后就出现了问题,它ssh到从节点之后,又会返回主节点,

这时候才执行第二行命令。就很纳闷,期间它ssh到节点1之后,我还要给他手动exit,然后主节点就shutdown了。

为此,我重新编写了个脚本,循环里面,第二行去echo 一些信息,如下:

Shell脚本中 for循环中的一个小问题

这个时候,就发现程序是先ssh到节点上,然后卡住,你帮他主动退出之后才会接着执行第二行,而且就算有什么输出信息也会输出到编写脚本的机器上。

 

原因是:

命令的运行是从上而下、从左而右的分析与运行;

如果想要两行紧接着运行, 就加一个字符 “\”在第一行的末尾,第二行接着写命令。

Shell脚本中 for循环中的一个小问题

这样就好了。

Tips:在编写脚本的时候, 缩进最好不要用tab,而是用四个空格。