快速入门shell脚本编写(三)
来源:互联网 发布:论文检测软件下载 编辑:程序博客网 时间:2024/05/17 20:31
从这一节主要学习 控制语句、循环语句
注释、shell多行注释
shell单行注释很简单,只需在每行行首增加#,但是他其实是没有提供专门的多行注释的方法的,所以我们采用投巧的方式来多行注释,用EOF分界符来多行注释,如下:
- 1 #! /bin/sh
- 2
- 3 file="/Desktop/file.test"
- 4
- 5 <<EOF
- 6 if [ -r $file ]
- 7 then
- 8 echo "1"
- 9 fi
- 10
- 11 if [ -w $file ]
- 12 then
- 13 echo "3"
- 14 else
- 15 echo "4"
- 16 fi
- 17 EOF
- 18
- 19 if [ -f $file ]
- 20 then
- 21 echo "file is an ordinary file"
- 22 fi
if判断语句
if判断语句应该已经很熟悉了,前面很多例子都使用了if判断语句,这里直接上俩个程序,并提供运行结果。
- 1 #! /bin/sh
- 2
- 3 var="test"
- 4
- 5 if [ $var == test1 ]
- 6 then
- 7 echo "1"
- 8 else if [ $var == test ]
- 9 then
- 10 echo "2"
- 11 fi
- 12 fi
上面使用的结构是
if ...
then ...
else if ...
then ...
fi
fi
另外一种结构是:
- 1 #! /bin/sh
- 2
- 3 var="test"
- 4
- 5 if [ $var == test1 ]
- 6 then
- 7 echo "1"
- 8 elif [ $var == test ]
- 9 then
- 10 echo "2"
- 11 fi
循环语句
for循环
先看一个例子:
- 1 #! /bin/sh
- 2
- 3 for (( i=0; i<10; i++))
- 4 do echo $i
- 5 done
1,for循环要用双括号 括起来,即: ((...;...;...;))
2,do 和 done是必不可少的
输出结果就是从0到9所有数字
while循环
- 1 #! /bin/sh
- 2
- 3 i=0
- 4 while((i<10))
- 5 do
- 6 echo $i
- 7 let i++
- 8 done
while循环的结构是:
while ...
do ...
done
until循环
until循环使用很少,结构类似c/c++ Java的do while循环,但实际条件是终止条件 而非c/c++里面的执行条件。这里略做介绍,个人建议浏览即可,也可跳过。
结构:
until ...
do ...
done
- 1 #! /bin/sh
- 2
- 3 i=0
- 4 until((i>=10))
- 5 do
- 6 echo $i
- 7 let i++
- 8 done
数组
看for in 和 case 语句前,先了解一下shell数组
表示方式:
方式一:arraynum=(1 2 3 4 5)
方式二:
arraynum[0]=0
arraynum[1]=1
arraynum[2]=2
获取数组的长度的方式:${#arraynum[@]} (arraynum[@]实际上arraynum的列表,计数符号我们在前面讲过,所以这个表达式不难理解)
for in 语句
接着我们来看如何遍历输出数组
- 1 #! /bin/sh
- 2
- 3 arraynum[0]=a
- 4 arraynum[1]=b
- 5 arraynum[2]=c
- 6
- 7 for var in ${arraynum[@]}
- 8 do
- 9 echo ${var}
- 10 done
- 11
- 12 echo ${#arraynum[@]}
- 13 echo ${arraynum[@]}
我们来看看输出结果:
for in语句的结构如下:
for 变量名 in 列表
do ...
done
该表达式语句比较常用,我们需要熟记他的形式和用法。
- 快速入门shell脚本编写(三)
- 快速入门shell脚本编写(三)
- 快速入门shell脚本编写(三)
- 快速入门shell脚本编写(一)
- 快速入门shell脚本编写(二)
- 快速入门shell脚本编写(四)
- 快速入门shell脚本编写(一)
- 快速入门shell脚本编写(二)
- 快速入门shell脚本编写(四)
- 快速入门shell脚本编写(一)
- 快速入门shell脚本编写(二)
- 快速入门shell脚本编写(四)
- shell脚本编写入门
- Shell脚本快速入门
- shell脚本编写学习三
- Linux Shell脚本快速入门
- 记一次shell脚本入门编写
- Batch批处理命令编写脚本快速入门
- 读取PCD文件
- 品尼高Pinnacle Studio 18下载 中文免费版
- JDK源码-Collection-remove()以及removeAll()
- HDU-1272 小希的迷宫
- Google着手与 Open AI 合作预防人工智能暴走
- 快速入门shell脚本编写(三)
- linux 部署多个Tomcat
- 使用ajax实现二级联动
- unity 2D中的向着鼠标点击方向进行射击
- Hadoop学习日志之序列化和反序列化
- Quartz定时任务调度
- 高仿网易云音乐一(可扫描本地音乐播放)
- C++11 time相关函数用法
- JDK 8 集合框架