1. 计算当前脚本目录下的文件个数。

1 #!/bin/sh
2 #
3  
4 counter=0
5  for file in *
6  do
7 counter=`expr $counter+1`
8 done
9
10 echo "There are $counter files in `pwd`"

2. 将 .foo 后缀的文件批量改名为 .bar 后缀。

#!/bin/sh
#
for f in *.foo
do
base
=`basename $f.foo`
mv
$f $base.bar
done

3. 将大写文件名改为小写文件名。

1 #!/bin/bash
2 #
3  
4  for f in *
5  do
6 mv $f `echo $f | tr '[A-Z]' '[a-z]'`
7 done

4. 得到磁盘使用百分比。

1 #!/bin/sh
2 #
3  part="/backup"
4  #得到磁盘使用百分比
5  LOOK_OUT=`df | grep $part | aws '{print $5}' | sed 's/%//g'`
6 echo $LOOK_OUT
7  until ["$LOOK_OUT" -gt "90"]
8 do
9 echo "文件备份已经快满了" | mail root
10 LOOK_OUT=`df |grep $part |awk '{print $5}' | sed 's/%//g'`
11 sleep 3600
12 done

5. 在 /usrdata 目录下建立 50 个目录,即 user1 ~ user50 ,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读写执行。文件所有者所在的组的权限为:读执行。

1 #!/bin/sh
2 i=1
3 while [ i -le 50 ]
4 do
5 if [ -d /userdata ];then
6 mkdir -p /userdata/user$i
7 chmod 754 /userdata/user$i
8 echo "user$i"
9 let "i = i + 1" (或i=$(($i1))
10 else
11 mkdir /userdata
12 mkdir -p /userdata/user$i
13 chmod 754 /userdata/user$i
14 echo "user$i"
15 let "i = i + 1" (或i=$(($i1))
16 fi
17 done

6. 编写一个菜单界面:

-1:显示当前目录下所有文件; -2:显示当前目录下所有文件大小; -3:使用vi编辑器; -4:查看当前系统中登陆的用户; -q:退出菜单

1 #!/bin/ksh
2 #menu
3 #set the date,user and hostname up
4 MYDATE=`date +%d/%m%Y`
5 THIS_HOST=`hostname -s`
6 USER=`whoami`
7 #loop forever !
8 while :
9 do
10 #clear the screen
11 tput clear
12 #here documents starts here
13 cat<<MAYDAY
14 -------------------------------------------------------------------------------------------
15 User:$USER Host:$THIS_HOST Date:$MYDATE
16 -------------------------------------------------------------------------------------------
17 1: List files in current directory
18 2: User the vi editor
19 3: See who is on the system
20 H: Help screen
21 Q: Exit Menu
22 -------------------------------------------------------------------------------------------
23 MAYDAY
24
25 #here document finished
26 echo -e -n "\tYour Choice [1,2,3,H,Q] >"
27 read CHOICE
28 case $CHOICE in
29 1)
30 ls
31 ;;
32 2)
33 vi
34 ;;
35 3)
36 who
37 ;;
38 H|h)
39 echo "help"
40 ;;
41 Q|q)
42 exit 0
43 ;;
44 esac
45 echo -e -n "\tHit the return key to continue"
46 read DUMMY
47 done
48

代码为网上转载,不知来源。

完。

posted on 2011-04-03 21:31  oyzway  阅读(793)  评论(0)    收藏  举报