LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1410|回复: 17

大家好谁会这个?

[复制链接]
发表于 2003-5-26 18:46:24 | 显示全部楼层 |阅读模式
大家好谁会这个?

就是这样的一个shell程序怎么写?

就是我想用find / -name "*.html"或者 locate .html找出所有的.html文件!
然后再所有的html文件后面加上一句 it show time

我这样写

#!/bin/sh
file="locate "*.html""
echo "it show time " >>$file

那里有错吗?请指教!或者给我写一个例子出来看看好吗?

谢谢!
发表于 2003-5-26 19:19:20 | 显示全部楼层
应该用循环。随手写两句作为参考。
for i in `find / -name "*.html"`
do
echo "it show time" >> $i
done
 楼主| 发表于 2003-5-26 19:31:05 | 显示全部楼层
感谢ing~~~~
但是我写过这个!

#!/bin/sh
dir="find / -name "*.html""
for a in $dir;do
echo " it show time " >> $a
done
一样不行:(不知道是我的redhat9.0有问题!
还是那里不对
发表于 2003-5-26 19:35:12 | 显示全部楼层
改作: dir=`find / -name "*.html"`
发表于 2003-5-26 19:37:55 | 显示全部楼层
问题出在这一句:dir="find / -name "*.html""
这是把字符串find / -name "*.html"赋值给dir,所有$dir的内容就是"find / -name "*.html"",而不是执行命令返回的结果。
应该把外面的引号改成反引号,如`find / -name "*.html"`,或者用$(find / -name "*.html")也行。
 楼主| 发表于 2003-5-26 20:14:28 | 显示全部楼层
谢谢大家:)
可以了!不过我用的是这个
#!/bin/sh
dir='locate *.html'
for a in $dir;do
echo " it show time " >> $a
done

呵呵~~~~但是不是全部的html文件都可以!
只有部分!很奇怪ing~~
发表于 2003-5-26 20:35:22 | 显示全部楼层
-->呵呵~~~~但是不是全部的html文件都可以!
-->只有部分!很奇怪ing~~

可能是权限不够。
 楼主| 发表于 2003-5-26 22:43:02 | 显示全部楼层
我以root权限进行的!应该不存在这个问题!
 楼主| 发表于 2003-5-27 00:03:42 | 显示全部楼层
发现一个怪问题!我第一次用这个
#!/bin/sh
dir='locate *.html'
for a in $dir;do
echo " it show time " >> $a
done的时候他可以帮我改掉/tmp目录下包括子目录里面所有的html文件
这个shell脚本放在/tmp下!

但是我第2次用的个shelljiaoben 的时候就不可以用了!改不了了
:(

怪怪!
发表于 2003-5-27 09:06:19 | 显示全部楼层
你一行一行地执行,看看有什么错误提示。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表