我想从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