大家。
我是一个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
有什么想法吗?
谢谢!
答案 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,但语法有点偏......