问题描述
||
大家。
我是一个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,但语法有点偏离。