Linux--shell交互输入与循环语句--06
一、交互输入
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
Linux--shell交互输入与循环语句--06的更多相关文章
- 交互输入与for语句
交互输入与for语句 1. 交互输入 read命令可以同时定义多个变量值:输入的内容默认以空格为分隔符,将值输入到对应的变量中:read尽量避免交互 如果默认值过多,最后所有的值会被赋予给最有一个 ...
- shell脚本中select循环语句用法
shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...
- linux shell提示输入 输错字符解决方法
linux shell提示输入 输错字符解决方法ctrl+回车 删除单个字符ctrl+u删除光标前全部字符ctrl+k删除光标后全部字符
- Python基础-week01 Python安装/变量/输入/及循环语句使用
一.Python介绍 (1).目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,You ...
- Shell学习(三)——Shell条件控制和循环语句
参考博客: [1]Shell脚本的条件控制和循环语句 一.条件控制语句 1.if语句 1.1语法格式: if [ expression ] then Statement(s) to be execut ...
- shell编程中的循环语句
while循环直接从文件中读取 while read line do command done < filename until循环 until 条件 do command done for循环 ...
- Shell脚本之for循环语句的应用
在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同.这时候可以使用for循环语句,针对不同的取值重复执行相同的命令序列. for循环语句的语法结构: ...
- linux shell中的条件判断语句
http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...
- Linux Shell脚本编程case条件语句
1,判断一个数字是否则在1,2,3之中. #!/bin/bash read -p "pls input a number:" n case "$n" in ) ...
随机推荐
- 【bzoj4137】[FJOI2015]火星商店问题
*题目描述: 火星上的一条商业街里按照商店的编号1,2 ,…,n ,依次排列着n个商店.商店里出售的琳琅满目的商品中,每种商品都用一个非负整数val来标价.每个商店每天都有可能进一些新商品,其标价可能 ...
- R list和data frame 排序
pathway_name = rownames(g1) tm <- list('P-value' = c(), 'Pathway_name' = c()) :dim(g1)[]){ result ...
- LeetCode 46——全排列
1. 题目 2. 解答 给定一个序列,序列中的任意一个数字都可以作为全排列的最后一位.然后,其余位置元素的确定便是剩余元素的一个全排列,也就是一个子问题. 例子中 [1, 2, 3] 的全排列,最后一 ...
- 004-unity3d MonoBehaviour脚本方法简介
一.MonoBehaviour 1.公共方法 CancelInvoke Cancels all Invoke calls on this MonoBehaviour. Invoke Invokes t ...
- 监测工具dstat使用说明
参考地址: https://blog.csdn.net/sinat_34789167/article/details/80986709
- unique()函数
unique()函数可输出列表,元组和series中的不同元素. 且只能输出dataframe的某一列series中的不同元素,不能同时输出. 返回的都是一个ndarry,但不能输出ndarry中的不 ...
- python 基础lambda函数
lambda 函数 其实对应的是一个简单的表达式: lambda [arg1] : expression a = lambda x,y: (x+y)/2 等价于 def a(x,y): (x+y)/2 ...
- 当我写下Map<String,Object> map = new HashMap<>() https://www.jianshu.com/p/6b2e350e99be
当我写下Map<String,Object> map = new HashMap<>();我到底在写什么? 我什么时候会写HashMap? 一个函数同时需要返回 多种 状态的情 ...
- window10 本地搭建SVN服务器
window10本地搭建SVN服务器教程:https://www.cnblogs.com/warmlight/p/11075644.html 我按照这篇教程成功搭建SVN服务器. 有个比较坑的地方是w ...
- Spring Boot 之 RabbitMQ 消息队列中间件的三种模式
开门见山(文末附有消息队列的几个基本概念) 1.直接模式( Direct)模式 直白的说就是一对一,生产者对应唯一的消费者(当然同一个消费者可以开启多个服务). 虽然使用了自带的交换器(Exchang ...