我想從bash中的文件加載sql並執行加載的sql。該sql文件需要是多功能的,這意味着它不能被改變,以便在bash中運行時容易(轉義特殊字符如*) 因此,我遇到了一些問題:從bash中的文件執行SQL
如果我讀了我的示例。 SQL
SELECT * FROM SAMPLETABLE
給一個變量與
ab=`cat sample.sql`
並執行它
db2 `echo $ab`
我收到一個sql錯誤,因爲通過執行一個cat,*已被sample.sql的目錄中的所有文件取代。
簡單的解決方案是將「」替換爲「\」。但我不能這樣做,因爲該文件需要保持可執行程序,如DB Visualizer等
有人能給我提示正確的方向嗎?
因爲你沒有引用你的變量'''(echo「$ ab」)'',所以'*'正在擴大。但請使用下面的答案之一。 – 2011-04-26 15:10:57