2010-11-18 18 views
0

我期待一個shell腳本中執行以下命令:在shell腳本進行多個sqlite3的通話

$ sqlite3 /Users/riceje7/bin/places.sqlite 
sqlite > .output places.txt; 
sqlite > SELECT url FROM moz_places; 
sqlite > .quit; 
$ lpr /Users/riceje7/bin/places.txt 

但是劇本最初sqlite3的命令調用後停止,只有經過我手動執行其他命令退出sqlite。有沒有人知道我可以如何強制腳本執行這些命令,而不必手動輸入它們?

回答

3

你應該做的事..

sqlite3 [OPTIONS] FILENAME [SQL] 

所以......

sqlite3 /Users/riceje7/bin/places.sqlite "SELECT url FROM moz_places" > places.txt 
lpr /Users/riceje7/bin/places.txt 

或者更好的(除非你需要保持places.txt出於某種原因)...

sqlite3 /Users/riceje7/bin/places.sqlite "SELECT url FROM moz_places" | lpr 
+0

lpr會很好的讀取你的stdin數據,所以:sqlite3 /Users/riceje7/bin/places.sqlite「SELECT url FROM moz_places」| lpr – cababunga 2010-11-18 03:01:13

+0

@cababunga - hehe我只是在編輯那個:) – ocodo 2010-11-18 03:05:44