2005-11-15 21:41
mecorn
请大家帮忙看一下两个作业题(急呀!!)谢谢~~
1、怎样编写一个shell,该shell用以扫描登录用户的默认目录,对所有以“.a”为后缀的文件合并到用户默认目录下“total.a”文件中,并删除原来的文件?
2、编写一个shell,对指定目录,检查其中文件属性是否为777,如发现则提示该文件有危险的属性,并改为754。
谢谢~~
2005-11-16 17:07
jinxin112688
第一个问题 (请大家指正,刚学的):
#!/bin/bash/
TARGET=total.a
for file in `finger | awk '{print $1}' | uniq | sed '1d' ` ; do
if [[ $file != "root" ]] ; then
cd "/home/"$file
else
cd ~
fi
#### search ".a" file
touch $TARGET
for $file_a in `ls *.a `; do
if [[ $file_a == "$TARGET" ]] ; then
continue;
fi
echo $file_a
ld -r -o $file_a $TARGET
rm -f $file_a
done
done
2005-11-18 09:11
mecorn
谢谢
谢谢,非常感谢.我也是一个新手,对linux有很大的兴趣但一窍不通,可不可以加一下qq,大家一起共同研究,共同进步.我QQ:253097940
2006-3-28 22:52
zhouzhanguo
不用这么麻烦吧.
1.
until false
do
for file in `find $DIR -name *.a -print|sed -d '/total/d'`
do
cat $file >>$DIR/total.a
done
sleep 30
done
2.find $DIR -perm 777 -print|xargs chmod 754
若要定时扫描,可以加循环
while true
do
find $DIR -perm 777 -print|xargs chmod 754
sleep 30
done
没有测过啊,哈哈
[[i] 本帖最后由 zhouzhanguo 于 2006-3-28 22:59 编辑 [/i]]
2006-4-27 23:37
菜菜鸟
cd ~
TARGET=`ls -a | grep *.a`
for target in `~/*.a`
do cat $target >> ~/total.a
status = $?
if [ $status = 0 ];then
rm $target
else
exit
fi
done
我也没测过,好久没写了,呵呵。
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.