思维导图
脚本练习
if语句练习与文件判断
1 #!/bin/bash
2 echo "输入一个文件名"
3 echo "判断是否在当前目录下存在"
4 echo "如果是一个目录,直接输出 是目录"
5 echo "如果存在判断是否是一个普通文件"
6 echo "如果是普通文件判断是否具有可读可写可执行权限"
7 echo "如果具备写入 hello"
8 echo "如果不具备添加读写执行权限并且写入 hello"
9 echo "如果是一个链接文件则输出文件的详细信息"
10 echo ""
11
12
13 read file
14 if [ -e ./$file ]
15 then
16 echo "存在"
17 fi
18 if [ -d ./$file ]
19 then
20 echo "是目录"
21 elif [ -L ./$file ]
22 then
23 echo `ls -lh $file`
24 elif [ -f ./$file ]
25 then
26 echo "是普通文件"
27 if [ -r ./$file -a -w ./$file -a -x ./$file ]
28 then
29 echo "具有可读写执行权限"
30 echo world >> $file
31 echo "写入成功"
32 else
33 echo "权限不足"
34 echo "添加权限"
35 chmod 777 $file
36 echo hello >> $file
37 echo "写入成功"
38 fi
39 fi
效果图
输入一个数,判断是否是回文数
1 #!/bin/bash
2
3 echo "输入一个数判断是否是回文数"
4 echo ""
5
6 read a
7 b=$a
8 sum=0
9 while [ $a -gt 0 ]
10 do
11 ((num=a%10))
12 ((sum=sum*10+num))
13 ((a=a/10))
14 done
15 if [ $sum -eq $b ]
16 then
17 echo "是回文数"
18 else
19 echo "啥也不是!"
20 fi
21
效果图
输入n,计算n!
1 #!/bin/bash
2
3
4 echo "输入n,计算n!"
5 echo ""
6 sum=1
7 read -p "输入要计算的阶乘 " a
8 for((i=1;i<=a;i++))
9 do
10 ((sum*=i))
11 done
12 echo result=$sum
效果图
打印等腰三角形
1 #!/bin/bash
2
3
4 echo "打印等腰三角形"
5 echo ""
6
7
8 read -p "请输入三角形的高 " h
9 for ((i=0;i<h;i++))
10 do
11 for ((j=h;j>i;j--))
12 do
13 echo -n " "
14 done
15 for ((k=0;k<2*i+1;k++))
16 do
17 echo -n "*"
18 done
19 echo ""
20 done
效果图
使用select in循环数组,arr=(Windows Linux Unix Mac),实现页面的交互
1 #!/bin/bash
2 echo "使用select in循环数组,arr=(Windows Linux Unix Mac),实现页面的交互"
3 echo ""
4 a=(Windows Linux Unix Mac)
5 select b in ${a[*]}
6 do
7 case $b in
8 Windows)
9 echo "Windows已打开"
10 ;;
11 Linux)
12 echo "Linux已打开"
13 ;;
14 Unix)
15 echo "Unix已打开"
16 ;;
17 Mac)
18 echo "Mac已打开"
19 ;;
20 *)
21 echo "错误"
22 ;;
23 esac
24 done
效果图
判断是否是素数
1 #!/bin/bash
2
3
4
5 echo "输入一个数,判断是否是素数"
6 echo ""
7
8 b=0;
9 read -p "输入数字以判断是否为素数 " a
10 for ((i=1;i<a;i++))
11 do
12 for ((j=1;j<a;j++))
13 do
14 if [ $((i*j)) -eq $a ]
15 then
16 ((b++))
17 fi
18 done
19 done
20 if [ $b -eq 0 ]
21 then
22 echo "是素数"
23 else
24 echo "不是素数"
25 fi
效果图