2012-03-29 92 views
1

當我給下面的命令,它與我的數據庫進行交互,給我想要的reults: -我如何通過Shell腳本執行此操作?

 isql -Usa -Pbas11 -Dsmdb 

     1>select distinct user_name from jobs 
     2>go 

該取回我想要的結果。這裏是bas11是密碼,smdb是我的數據庫。

我想通過shell腳本來完成同樣的和重定向該命令的Sybase的O/P至filesay /tmp/output.txt Shell腳本我寫的是: -

 #!/bin/sh 
     isql -Usa -Psybase11 -Dcnadb <<./ritesh.txt> /tmp/output.txt 

這裏。 /僅限Ritesh TXT輸入到SYBASE命令包含: -

select distinct user_name from jobs go 

但我執行該外殼腳本後不是在geeting在/tmp/output.txt任何輸出。 我是Shell腳本的新手。有人能幫我一下嗎 ? 在此先感謝。

+0

首先,我建議你將問題的代碼格式化得更好一些(比如換行符真的有換行符)。那麼你可能會測試你的腳本是否能更好地工作,而不是隻使用'<?'使用'<? – 2012-03-29 07:07:12

回答

2

在Sybase如果你想在一個文件中的查詢輸出然後做如下:

isql -Uuser -Sserver -Ppassword -imy.sql -oresults.csv 

而且,如果它的外殼,你可以做這樣的事情在外殼,

isql -Uuser -Sserver -Ppassword -imy.sql -oresults.csv << END 
yoursql 
go 
END 
+0

非常感謝,我認爲它的工作非常好:) – Invictus 2012-03-29 08:14:25