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

时间:2011-06-23 23:19:09

标签: mysql bash

大家。

我是一个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

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

如果我理解它应该做什么,这应该有效:

#!/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

(注意:确保要发送到远程服务器的行使用制表符缩进,而不是空格; <<-删除前导制表符,但不删除其他形式的缩进。)

答案 1 :(得分:0)

看起来你想要使用here-doc,但语法有点偏......