powerme 发表于 2003-6-26 21:24:39

大家看看这个脚本错在哪

cat a
#!/bin/bash
echo "keyword:"
read keyword
echo "directory:"
read directory
dir -R $directory | (while read file;
do
grep " $keyword " $file
done
)

野人 发表于 2003-6-26 22:33:02

is it something wrong when you run this shell?

songhuo 发表于 2003-6-26 23:56:50

对呀,错的时候有什么提示?

powerme 发表于 2003-6-27 16:24:33

keyword:
yes
directory:
/etc/sysconfig
grep: /etc/sysconfig:: 没有那个文件或目录
grep: apmd: 没有那个文件或目录
grep: gpm: 没有那个文件或目录
grep: iptables: 没有那个文件或目录
grep: network-scripts: 没有那个文件或目录
grep: sendmail: 没有那个文件或目录
grep: apm-scripts: 没有那个文件或目录
grep: grub: 没有那个文件或目录
grep: irda: 没有那个文件或目录
grep: ntpd: 没有那个文件或目录
grep: static-routes: 没有那个文件或目录
grep: authconfig: 没有那个文件或目录
grep: harddisks: 没有那个文件或目录
grep: keyboard: 没有那个文件或目录
grep: pcmcia: 没有那个文件或目录
grep: syslog: 没有那个文件或目录
grep: clock: 没有那个文件或目录
grep: hwconf: 没有那个文件或目录
grep: kudzu: 没有那个文件或目录
grep: rawdevices: 没有那个文件或目录
grep: xinetd: 没有那个文件或目录
grep: console: 没有那个文件或目录
grep: i18n: 没有那个文件或目录
grep: mouse: 没有那个文件或目录
grep: redhat-config-users: 没有那个文件或目录
grep: desktop: 没有那个文件或目录
grep: init: 没有那个文件或目录
grep: network: 没有那个文件或目录
grep: redhat-logviewer: 没有那个文件或目录
grep: firstboot: 没有那个文件或目录
grep: installinfo: 没有那个文件或目录
grep: networking: 没有那个文件或目录
grep: rhn: 没有那个文件或目录

bixuan 发表于 2003-6-27 16:57:43

权限够吗?

chg1226 发表于 2003-6-27 18:14:58

没有权限

powerme 发表于 2003-6-27 21:47:32

chmod 747 filename

powerme 发表于 2003-6-28 01:11:54

cat a
#!/bin/bash
echo "keyword:"
read keyword
echo "directory:"
read directory
grep -R $keyword $directory
done

bixuan 发表于 2003-6-28 08:35:15

你用done干吗?

powerme 发表于 2003-6-28 17:57:54

我是莱鸟。

原来是不用done的

bixuan 发表于 2003-6-28 17:59:28

你不用循环done就不用了吧!

powerme 发表于 2003-6-29 09:52:08

用循环不是用fi结束`的吗?

bixuan 发表于 2003-6-29 18:51:07

用循环不是用fi结束`的吗?
if是用fi结束的!

xyb 发表于 2003-7-3 23:49:25

第一个帖子中的问题在于管道会启动新的 shell 进程,更不用说你还加了一对括号,这样前面的 $keyword 是不会传递到后面的 while 循环中的。解决的办法是把 while 写到当前的 shell 中执行:

#!/bin/bash
echo "keyword:"
read keyword
echo "directory:"
read directory
while read file;
do
grep " $keyword " $file
done < dir -R $directory

参考 http://www.linuxforum.net/forum/showflat.php?Cat=&Board=vrml&Number=411233&page=&view=&sb=&o=&vc=1

powerme 发表于 2003-7-6 15:30:46

不行 提示错误


done < dir -R $directory
页: [1] 2
查看完整版本: 大家看看这个脚本错在哪