Linux-----Shell编程之循环语句

目录

一、小命令

1、echo

实验:

2、date ------  查看当前系统时间

3、cal ---- 日历

4、seq  打印

二、循环语句

1、for语句

实验:

计算整数和:

列出奇偶数

批量添加、删除用户

密码验证

随机抽奖

改名 

九九乘法表

九九乘法表倒

2、while语句

实验:

猜数字

猜商品的价格

商场购物

3、until语句

实验:

计算1-50的和

 小实验:


一、小命令

1、echo

echo -n   表示不换行输出
echo -e   表示输出转义符
常用的转义符

选项作用
\r光标移至行首,并且不换行
\s当前shell的名称,如bash
\t插入Tab键,制表符
\n输出换行
\f换行,但光标仍停留在原处
\表示插入"\"本身转义
\b表示退格 不显示前一个字符
\c抑制更多的输出或不换行

退个数(\b)不能大于前面的数字

实验:

自动分区的小实验

先添加一块磁盘,然后用脚本进行自动分区,先模拟看一下需要几个回车,格式化没写,后面再进行配置

2、date ------  查看当前系统时间

date查看当前系统时间
-d 你描述的日期,显示指定字符串所描述的时间。而非当前时间
%F 完整日期格式,等价于%Y-%m-%d
%T 时间(24小时制)(hh:mm:ss)

3、cal ---- 日历

4、seq  打印

 

二、循环语句

1、for语句

使用 for 循环语句时,需要指定一个变量及可能的取值列表,针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。

for语句的结构

for 变量名 in 取值列表
do
	命令序列
done

 for语句的执行流程

  • 首先将列表中的第1个取值赋给变量,并执行 do···done 循环体中的命令序列
  • 然后将列表中的第2个取值赋给变量,并执行循环体中的命令序列……
  • 以此类推,直到列表中的所有取值用完,最后将跳至 done 语句,表示结束循环

循环的含义

将某段代码重复运行多次,通常有进入循环的条件和退出循环的条件

重复运行的次数

  • 循环次数事先已知
  • 循环次数事先未知

常见的循环命令有:  for   while   until

i可以调用后面的,也可以不调用

实验:

计算整数和:

列出奇偶数
批量添加、删除用户

密码验证

随机抽奖
改名 

在/test目录下写脚本将/data目录下的*.sh的全部改名为*.txt

九九乘法表

九九乘法表倒

2、while语句

for循环语句非常适用于列表对象无规律,且列表来源已固定(如某个列表文件)的场合。而对于要求控制循环次数、操作对象按数字顺序编号、按特定条件执行重复操作等情况,则更适合使用另一种循环—while语句。

  • 使用 while循环语句时,可以根据特定的条件反复执行一个命令序列,直到该条件不再满足时为止。但是在脚本应用中,应该避免出现死循环的情况,否则后边的命令操作将无法执行。
  • 循环体内的命令序列中应包括修改测试条件的语句,以便在适当的时候使测试条件不再成立,从而结束循环。

while循环语句的语法结构如下所示:

while 条件测试操作
do
	命令序列
done

执行流程:

  • 首先判断 while 后的条件测试操作结果,如果条件成立,则执行 do···done 循环体中的命令序列
  • 返回 while 后再次判断条件测试结果,如果条件仍然成立,则继续执行循环体
  • 再次返回到 while 后,判断条件测试结果…如此循环
  • 直到 while 后的条件测试结果不再成立为止,最后跳转到 done 语句,表示结束循环

实验:

列出1-100之间能被3整除的数

猜数字
猜商品的价格

商场购物

3、until语句

重复测试某个条件,只要条件不成立则反复执行

语法结构:

until 条件测试操作
do
	命令序列
done

实验:

计算1-50的和

发消息

 小实验:

1、要求将目录YYYY-MM-DD/中所有文件,移动到YYYY-MM/DD/下

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值