bash:./mysql_exe.sh:第13行:语法错误:文件意外结束

问题描述

|| 大家。 我是一个bash脚本菜鸟,并且无法弄清为什么我得到了意外的文件结尾错误。 这是我的脚本:
#!/bin/bash

server=8100

while [ $server -le 8121 ]
do
        ssh pos$server <<ENDEXP
        mysql -u root -p12345 pos_master_prod <<ENDEXP
        show slave status \\G <<ENDEXP
        \\q <<ENDEXP
        server=$(( $server + 1 ))
done
有任何想法吗? 谢谢!!     

解决方法

        如果我了解应该执行的操作,则应该可以使用:
#!/bin/bash

for ((server=8100; server <= 8121; server++)); do
    ssh pos$server <<-ENDEXP
        mysql -u root -p12345 pos_master_prod
        show slave status \\G
        \\q
    ENDEXP
done
(注意:确保要发送到远程服务器的行用制表符而不是空格缩进;
<<-
删除前导制表符,但不缩进其他形式。)     ,        看起来您想使用here-doc,但语法有点偏离。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...