linux bash shell编程之参数变量和流程控制。
参数变量:用来向脚本中传递参数
我们在执行脚本的时候可以在其后面加入一些参数,通常来说这些参数与脚本中变量为对应关系。
start.sh argu1 argu2
引用方式:
$1,,2,……${10}${11},……
在脚本后边给两个文件路径分别对应文件中的$1,$2。并将值传递给$1,$2

轮替:
shift n:位置参数轮替。不给定个数时能默认为1.
脚本后给了三个参数,使用shift踢掉两个,所以脚本中最后引用$1实际值为3

特殊变量:
$0:脚本文件路径本身
$#:脚本参数的个数
$*:所有参数
$@:所有参数
特殊变量示例

代码执行顺序
顺序执行:从脚本第一行逐条执行至最后一行。
选择执行:
代码只有一个分支:条件满足是执行
代码有大于1个分级:只会执行满足条件的一个分支
循环执行:代码被执行N次
if:单分支、双分支、多分支
单分支if
if 测试条件;then
body
fi
双分支if
if 测试条件;then
测试条件为真执行的body
else
测试条件为假执行的body
fi
多分支if
if 测试条件1;then
测试条件1为真执行的body
elif 测试条件2;then
测试条件2位真执行的body
……
else
所有条件不满足是执行的body
fi
if示例
添加用户

比较大小

奇偶判断

判断文件类型

写一个脚本列出可执行的操作,并让用户输入选项,每个选项对应一种操作

用户类型判断

for:用来遍历列表和控制变量
列表生成方式:
直接给出列表
整数列表
{start..end}
seq [start [incremtal]] end
返回列表的命令 如ls /etc/* 结果也保存在列表中
等
示例

for VAR in LIST;do
循环体
done
for示例:
求1-100之和

练习题:

第二题

第一题

第三题

while:当循环
while CONDITION;do
循环体(包含循环控制变量修正表达式以退出循环)
done
until:直到循环
until CONDITION;do
循环体(包含循环控制变量修正表达式以退出循环)
done
while练习:打印九九乘法表

case:
case支持glob风格的通配符
*:任意长度的任意字符
?:任意单个字符
[]:范围内任意单个字符
a|b:a或b
case $VAR in
PAT1)
分支1
;;
PAT2)
分支2
;;
……
*)
以上所有条件均不满足是执行分支n
;;
esac
case示例


linux bash shell编程之参数变量和流程控制。的更多相关文章
- Linux学习——shell编程之环境变量配置文件
小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...
- 第10章 Shell编程(4)_流程控制
5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...
- 【shell编程】之基础知识-流程控制
和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...
- 零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月21日周四】
lvy老师教项目课程,以及代课了shell部分课程,大家都觉得这位老师不行,上课时做的操作很多都是错误的,觉得她基础不好.而且,她不能解释原因,学生问为什么,她不知道.崩溃啊.向xx培训机构反应后,说 ...
- 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法
linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法 linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...
- linux 10 -Bash Shell编程
二十三. Bash Shell编程: 1. 读取用户变量: read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后 ...
- shell编程下 特殊变量、test / [ ]判断、循环、脚本排错
第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~]# cat /server/scripts/show2.sh #!/bin/ ...
- 【转】shell编程下 特殊变量、test / [ ]判断、循环、脚本排错
[转]shell编程下 特殊变量.test / [ ]判断.循环.脚本排错 第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~] ...
- 01 shell编程规范与变量
前言: 大家对shell脚本应该都不算陌生了,如果突然问你什么是shell脚本?是干什么用的?由什么组成以及怎么使用?变量的概念是什么?作用范围是什么?变量间的算术运算怎么表示?你能很容易答出来吗 本 ...
随机推荐
- UITabView
UITabView可是实现列表功能,此文转自https://www.cnblogs.com/longiang7510/p/5367080.html,讲述很详细,都有注视,但是注释解释不太确切,可以自行 ...
- JAVA基础知识注意事项
JAVA核心技术卷一 (第十版) 下面是需要注意的: 只有方法名和参数类型叫做方法的签名, 不同的返回类型值不能作为方法的签名.(4.6.1) 这是域与局部变量的主要不同点. 必须明确地初始化方法中的 ...
- srync:@ERROR: auth failed on module tee 的解决办法分析
首先:检查server端和client端的用户名和密码确认都无误: 然后:检查了服务器端/etc/rsyncd.conf 配置文件未发现异常, 再次:通过配置文件找到了log存放目录 $ cat /e ...
- Python装饰器基础
一.Python装饰器引入 讲 Python 装饰器前,我想先举个例子,虽有点污,但跟装饰器这个话题很贴切. 每个人都有的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个 ...
- Mycat分布式数据库架构解决方案--Mycat实现读写分离
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 安装完 ...
- jvm原理和代码运行的过程
一次编译,到处运行 java一直宣传的口号是:一次编译,到处运行.那么它如何实现的呢?我们看下图: graph TD java原程序--javac编译-->java字节码 java字节码--&g ...
- Mui 长按保存图片
必须先要 引入 mui.js,然后参考具体代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...
- net core WebApi——公用库April.Util公开及发布
前言 在之前鼓捣过一次基础工程April.WebApi后,就考虑把常用的类库打包做成一个公共类库,这样既方便维护也方便后续做快速开发使用,仓库地址:April.Util_github,April.Ut ...
- 程序员接私活经验总结,来自csdn论坛语录
以下为网上摘录,以做笔记: 可是到网上看看,似乎接私活也有很多不容易,技术问题本身是个因素,还有很多有技术的人接私活时被骗,或者是合作到最后以失败告终,所以想请有经验的大侠们出来指点一下,接私活是怎么 ...
- CSPS模拟 59
经ooo提醒咕题解会掉rp 我反正也冒着改不完题的风险,就开始颓博了 话说好久没这么舒坦的垫过底了233 上来一看T1,立刻就转化题意为有奇偶性和距离限制的bfs 然后就没考虑子串不能越过母串边界的事 ...