1.
2.统计家目录下.c文件的个数
1 #!/bin/bash
2 i=0
3 for filename in `ls /home/ubuntu/*.c`
4 do
5 ((i++))
6 done
7 echo $i
3. 终端输入一个.sh文件,判断文件是否由可执行权限,如果有可执行权限运行脚本,没有可执行权限添加可执行权限后,再运行脚本
#!/bin/bash
2 read -p "请输入.sh文件" filename
3 if [ -x "$filename" ]
4 then
5 bash $filename
6 else
7 chmod 777 $filename
8 bash $filename
9 fi
4.写一个函数,输出当前用户uid和gid,并使用变量接收结果
1 #!/bin/bash
2 getuidgid()
3 {
4 uid=`id -u`
5 gid=`id -g`
6 echo uid=$uid
7 echo gid=$gid
8 }
9 a=`getuidgid`
10 echo $a
5.终端输入年月,判断该月有多少天,考虑闰平年的情况
1 #!/bin/bash
2 read -p "输入年" year
3 read -p "输入月" month
4 a=`expr $year%4`
5 b=`expr $year%100`
6 c=`expr $year%400`
7 case $month in
8 1|3|5|7|8|10|12)
9 echo 31天
10 ;;
11 4|6|9|11)
12 echo 30天
13 ;;
14 2)
15 if [ $a -eq 0 -a $b -ne 0 -o $c -eq 0 ]
16 then
17 echo 29天
18 else
19 echo 28天
21 fi
21 esac
6.使用for循环,输出九九乘法表( printf "%d * %d = %d" $i $j $((i*j)) )
1 #!/bin/bash
2 for i in {1..9};
3 do
4 for j in $(seq 1 $i);
5 do
6 printf "$j*$i=$((j*i))"
7 done
8 echo
9 done
7.使用for循环,找到家目录下的所有.c文件,如果文件有内容编译该文件,如果文件中没有内容,删除文件
1 #!/bin/bash
2 i=0
3 for filename in `ls /home/ubuntu/*.c`
4 do
5 if [ -s "$filename" ]
6 then
7 gcc $filename
8 else
9 rm $filename
10 fi
11 ((i++))
12 done
13 echo $i