2014-10-27 64 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

相关问题