该脚本使用步骤如下:
- 创建文件:解释器,注释体,程序体
- 需要对其进行可执行权限赋予:chmod u+x XX.sh
- 进行执行:./XX.sh
如若使用sh XX.sh
下面对“创建文件”做相关解释。
一、Shell 脚本文件
一个标准的文件如下:
1 2 3
| #!/bin/bash # 上面中的 #! 是一种约定标记, 它可以告诉系统这个脚本需要什么样的解释器来执行; echo "Hello, world!"
|
第一、二、三行分别为解释器,注释体,程序体。其中,注释体非必需。
解释器在每个文件的最上方都需要注明。下面来看程序体:
1. 程序体
程序体,顾名思义就是写程序的地方。有顺序结构,分支结构与循环结构。
1)顺序结构
点击显/隐
1 2 3
| read -p "Please enter your name:" Name echo "Hello $Name,welcome to the linux classroom!"
|
2)分支结构
a. if 分支
点击显/隐
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| read -p "score,please:" Score if(($Score>=90)) && (($Score<=100)) then echo "成绩为 $Score,等级是优秀" elif (($Score>=80)) && (($Score<90)) then echo "成绩为 $Score,等级是良好" elif (($Score>=60)) && (($Score<80)) then echo "成绩为 $Score,等级是中等" elif (($Score>=0)) && (($Score<60)) then echo "成绩为 $Score,等级是差" else echo "成绩为 $Score,该成绩不合法" fi
|
b. case 分支
点击显/隐
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| read -p "score,please:" Score case $Score in [9][0-9]|100) echo "成绩为 $Score,等级是优秀" ;; [8][0-9]) echo "成绩为 $Score,等级是良好" ;; [6-7][0-9]) echo "成绩为 $Score,等级是中等" ;; [0-5][0-9]|0) echo "成绩为 $Score,等级是差" ;; *) echo "成绩为 $Score,该成绩不合法" esac
|
3)循环结构
a. for 循环
点击显/隐
1 2 3 4 5 6 7 8 9
| sum=0 i=0 for((i=1;i<=50;i++)) do sum=$(($sum+$i)) done echo "1+2+3+...+50= $sum"
|
b. while 循环
点击显/隐
1 2 3 4 5 6 7 8 9
| sum=0 i=1 while((i<=50)) do sum=$(($sum+$i)) i=$(($i+1)) done echo "1+2+3+...+50= $sum"
|
3. until 循环
点击显/隐
1 2 3 4 5 6 7 8 9
| sum=0 i=1 until((i>50)) do sum=$(($sum+$i)) i=$(($i+1)) done echo "1+2+3+...+50= $sum"
|
条件测试
0成立,1没有
文测试类型:件,整数,字符串,逻辑类型。
文件测试
test -e filename
-d 是否为目录
-f 是否为文件
-d,-w,-x可读?可写?可执行?
echo $?
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~