everyone。bash:./mysql_exe.sh:第13行:語法錯誤:文件意外結束
我是一個bash腳本noob,我無法弄清楚爲什麼我得到意外的文件錯誤結束。
這是我的腳本:
#!/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
任何想法?
謝謝!
是的!那樣做了!非常感謝!你能解釋我的錯在哪裏,所以我更好地理解爲什麼我的腳本不起作用? 再次,謝謝! – Charlie
只是看起來真的很糟糕的語法。 :) – Charlie
@SquireCD:你遇到的唯一問題是這裏的文檔語法:不要在每一行放置''DELIMITER',把它放在here-doc之前的命令上,然後把'DELIMITER'單獨放在一個在here-doc之後。添加短劃線('<< - DELIMITER')會告訴它刪除前導標籤,並且引用分隔符將使其不會替換here-doc中的'$ variable'表達式。你在沒有循環的情況下工作的原因是,它從來沒有在一行中看到單獨的分隔符('ENDEXP'),所以它只用於腳本的末尾。隨着循環,這意味着它無法找到'完成'的命令,並驚慌失措。 –