2014-10-27 67 views
0

我是一個unix新手,我有一個unix命令我試圖運行,但我得到一個「GREP:找不到」的錯誤。我看着$ PATH,並沒有看到任何類似的grep(不知道這就是我正在尋找任何雖然)...

的命令是這樣的:

testabcd=$(bteq << EOF 2>&1 |grep '^>' |sed -e "s/^>//" 
.LOGON server/user, pass 
DATABASE schema; 
.set width 2000; 
    .set titledashes off; 
SELECT '>'||COUNT(*) FROM schema1.table1; 
.LOGOFF; 
.QUIT; 
.EXIT 
EOF) 

echo "The count is: " $testabcd 

然後我得到這些錯誤:

-ksh: SED: not found (No such file or directory) 
>echo "The count is: " $testvarabcd 
THE DATA IS: 
>-ksh: GREP: not found 
*** Error: The following error was encountered on the output file. 
*** Error: Broke pipe 
*** Warning: Canceling the rest of the output 

如果grep不在PATH中,是否需要安裝它?如果沒有,我可以在命令中設置路徑,並且如何搜索grep路徑的位置?

+0

你可以做'哪個grep'?並在此處粘貼輸出。 – vidit 2014-10-27 23:18:07

+0

我得到「/ bin/grep」 – user2061886 2014-10-27 23:19:19

+2

您的錯誤消息顯示命令的所有CAPS。 'GREP'不一樣'grep'! – 2014-10-27 23:20:00

回答

-1

用/ bin/grep替換grep,用/ bin/sed替換sed。最終你需要添加/ bin到你的路徑。

你喜歡ksh嗎?根據我的經驗,csh,tcsh或bash是更常用的 。使用其中之一可能會給您一條更好的路徑。 然後你不需要編輯你的路徑。

包含您路徑的文件是您主目錄中的隱藏文件(文件名前有 )。在主目錄中嘗試ls。*。 更妙的是,嘗試

/斌/ grep的PATH。*

這將找到與PATH變量的文件。

+0

ksh完全符合POSIX標準 - 實際上,POSIX sh標準是基於當時存在的ksh編寫的。此外,推薦tcsh(不符合POSIX標準的形式或形式)通常是不好的建議;另請參閱http://www.grymoire.com/unix/CshTop10.txt – 2014-10-28 00:05:29

+0

(另外,由於錯誤信息已經明確,並且已經在評論中得到了承認,問題在於用戶的腳本將GREP作爲單獨的大寫字母命令)。 – 2014-10-28 00:08:09

相關問題