我試圖將腳本放在一起批量更新一堆數據庫表。我有一個文件列表(但我可以從stdin中獲得它),並且我試圖構建ALTER TABLE
命令。我有以下如何從單獨的輸入行(從文件或標準輸入)格式化bash命令行
while read table; do echo "ALTER TABLE $table ENGINE=Aria"; done < tables
然而其輸出是這樣的
ENGINE=Ariamydatabase.mytableone
ENGINE=Ariamydatabase.mytabletwo
ENGINE=Ariamydatabase.mytablethree
,而不是
ALTER TABLE mydatabase.mytableone ENGINE=Aria;
...
喜歡我的預期。我究竟做錯了什麼?最終,我會將echo
更改爲mysql -uroot -ppassword -e"ALTER TABLE $table ENGINE=Aria;"
。
'貓文件|雖然'和'while
約翰你試過嗎? –
是的。它也不例外。貓不翻譯行結束或剝離回車。 –