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=$(($i+1))
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=$(($i+1))
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
代码为网上转载,不知来源。
完。
浙公网安备 33010602011771号