Linux--shell交互输入与循环语句--06
2024-09-05 01:27:59
一、交互输入
1、命令用法:read a b c -> aa bb cc
read命令同时可以定义多个变量值;而输入的内容默认以空格为分隔符,将值输入到对应的变量中;如果默认值输入过多,最后所有的值都会被赋予给最后一个变量;如果输入的值少于变量数,多余的变量则为空值
2、常用参数:
-p read -p “请输入一个值:” 变量名 === echo -n “请输入一个值:” ; read 变量名
-t 定义超时时间 read -t 5 -p “请输入一个值:” 变量名
二、while语句
1、while语句语法格式
定义初始值
while 条件判断;do
循环体
值变化语句
done
练习
i=
while (( $i<= ));do
echo $i
let i++
done
2、其他两种特殊语句格式
第一种:
while read 变量;do
循环体
done <</path/filename
第二种.死循环:
while true;do
循环体
done
break 打断循环
continue 打断本次循环,开始下次循环
sleep 延时循环
三、until语句
与while用法相同
与while的区别是,只有判断条件为False时候,才会进入循环
四、for语句循环
1、for语句的应用场景:
某功能需要循环执行,只是执行对象不同,(数据对象必须是同类)
2、for语句格式:
for 变量 in 条件列表;do
循环体
done
3、列表的生成方式
a) 直接给出字符串列表
for i in a b c d e;do
循环体
done
b) 整数列表
{start .. end} : 例:{..}
seq :命令引用 $(seq [start [步长]] end) 例:seq 30输出20
c) 返回列表命令
$(COMMAND)
应用场景例:判断/var/log的所有文件,以.log结尾的文件统计处理
#!/bin/bash
#
declare -i sum=
for i in $(ls /var/log/);do
if [[ $i = "*.log" ]];then
echo $i
let sum++
fi
done
echo "统计.log结尾的文件有:$sum"
d) glob机制:---- 文件通配符的机制
e) 变量引用:----传参
$@ $* 将参数作为for循环的列表
$0 代表运行的脚本文件 awk中$0代表整行内容
需要多个次的时候用$@ ,需要一个词的时候用$*
4、扩展:for语句的另一种写法(基于C语言的写法)
for((i=;i<;i++));do
循环体
done
最新文章
- python学习之day4,函数
- 解决Centos7安装后无法联网的问题
- Intent学习笔记
- 搭建高可用的MongoDB集群
- C++虚函数表调用学习
- BOM中的各种height
- 二维码生成api
- Vuejs之开发环境搭建
- Git 之 恢复修改的文件
- idea中pom.xml添加了新的maven依赖,点击import changes没反应
- Kali 无法正常上网问题
- Python学习第十三篇——函数的深层次运用
- JS算法练习四
- 基于官方mysql镜像构建自己的mysql镜像
- 【转】Windows Server 2008 R2下安装 .net framework3.5
- django 1.11 目录
- vue-router beforeEach死循环
- Shell脚本的学习笔记二:字符串
- redis-desktop-manager 的简单使用
- STM32 IAP docs
热门文章
- 【gym102222K】Vertex Covers(高维前缀和,meet in the middle)
- SpringCloud 教程 (六)断路器聚合监控(Hystrix Turbine)
- UVALive 6859 Points (凸包)
- error: ‘xxx’ does not name a type
- leetcode-mid-Linked list- 230 Kth Smallest Element in a BST
- MDX入门(2)
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第7节 Arrays工具类_16_数组工具类Array
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_1_递归概念&;分类&;注意事项
- 类Calendar
- django-xadmin常用内容记录