shell脚本1——分支结构、循环、函数
来源:互联网 发布:php打卡考勤系统源码 编辑:程序博客网 时间:2024/05/17 04:30
重要的写在前头
因为linux的shell中默认是字符串,所以 sum=
1、 sum=
一、if语句
1、字符串判断
str1 = str2 当两个串有相同内容、长度时为真
str1 != str2 当串str1和str2不等时为真
-n str1 当串的长度大于0时为真(串非空)
-z str1 当串的长度为0时为真(空串)
str1 当串str1为非空时为真
2、数字的判断
int1 -eq int2 两数相等为真
int1 -ne int2 两数不等为真
int1 -gt int2 int1大于int2为真
int1 -ge int2 int1大于等于int2为真
int1 -lt int2 int1小于int2为真
int1 -le int2 int1小于等于int2为真
3 文件的判断
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
3、复杂逻辑判断
-a 与
-o 或
! 非
例子
1 #!/bin/bash 2 3 sum=5 4 5 if [ $sum -eq 5 ]; 6 then 7 echo "sum is $sum" 8 else 9 echo "sum is not 5" 10 fi
在测试中,发现有时候提示 ./test.sh: 第 5 行: [: -eq: 期待一元表达式
当出现这个时,不一定是语法问题,有可能是程序运行的问题
解决方案:重新再创建一个.sh文件,重新运行看看
二、case 语句
case $var(变量) in
a) echo XXX
;;
b) echo XXX
;;
*) echo XXX
;;
esac
12 case $sum in 13 5) echo "sum is $sum" 14 ;; 15 *) echo "sum is not 5" 16 ;; 17 esac 18
三、级联符号
&& 前面为真时 ||前面为假时
四、循环语句
for in
for $var in {1..100} do
/语句/
done
例子:
20 for I in {1..100};do 21 if [ $[$I%3] -eq 0 ];then 22 let xum+=$I 23 fi 24 done 25 echo "the sum is:$xum"
while
while [ /条件为真/ ]
do
/语句/
&&break 有条件停下
done
var1=1 28 xum=0 29 while [ $var1 -lt 100 ] #var < 100 条件为真 30 do 31 let xum+=$var1 32 let var1+=1 33 #[ $var1 -eq 100 ]&&break; #var=100 34 done 35 echo "sum is $xum"
until
until [ /条件为假/ ]
do
/语句/
&&break 有条件停下
done
var2=1 38 xum=0 39 until [ ! $var2 -lt 100 ] #var < 100 条件为假 40 do 41 let xum+=$var2 42 let var2+=1 43 #[ $var2 -eq 100 ]&&break; #var=100 44 done 45 echo "sum is $xum"
五、shell函数
1 #!/bin/bash 2 3 hello() 4 { 5 echo " $1, Hello World"//原来这里的$1不是从外传进来的参数,单单是函数名传进来的参数 6 } 7 8 hello 你好
六、shell变量替换
临时赋值
永久赋值
替换
- shell脚本1——分支结构、循环、函数
- Shell脚本编程-分支与循环
- 7.shell分支与循环结构
- Shell编程---分支和循环结构
- 汇编程序——循环与分支结构
- SHELL脚本分支结构之if
- shell编程基础——分支结构
- 手把手教你写shell脚本——shell循环结构
- 分支结构、循环结构
- 脚本乐园 shell编程循环结构
- Shell脚本学习笔记-循环结构
- Linux Shell脚本应用——使用case分支
- JAVA基础(2)——分支和循环结构
- 结构化编程 —— 顺序、分支(选择)、循环
- javaScript之函数,分支结构 ,循环结构(二)
- linux shell脚本案例六:结构化程序分支语句
- Shell 脚本知识回顾 (五) —— Shell 循环
- Shell 脚本知识回顾 (五) —— Shell 循环
- C++绑定lua
- myEclipse怎么新建hbm.xml映射文件
- 并查集讲解
- 网易秋招编程题4
- 日期计算
- shell脚本1——分支结构、循环、函数
- Codeforces723 D. Lakes in Berland (BFS)
- 利用cookie让网站登录名页面记录登录名 2周的时间
- Uva140 最优性剪枝
- codeforces723DLakes in Berland+BFS
- Android4.4状态栏透明方法,与工具栏颜色一致
- 理解Python中的with…as…语法
- Earth Mover’s Distance (EMD)
- codeforces 723D(DFS)