Shell编程之循环语句与echo的用法
Shell编程之循环语句与echo的用法
一、echo用法
1. echo常用选项
echo -n 表示不换行输出
echo -e 输出转义字符,将转义后的内容输出到屏幕上
2. 常用的转义字符
| 常用的转义字符 | 说明 |
|---|---|
| \b | 转义后相当于按退格键(backspace),但前提是“\b”后面存在字符;“\b”表示删除前一个字符,“\b\b”表示删除前两个字符 |
| \c | 不换行输出。在“\c”后面不存在字符的情况下,作用相当于echo -n;但是当“\c”后面仍然存在字符时,“\c”后面的字符将不会被输出 |
| \n | 换行,被输出的字符从“\n”处开始另起一行 |
| \f | 换行,但是换行后的新行的开头位置连接着上一行的行尾 |
| \v | 同/f |
| \t | 转以后表示插入tab,即横向制表符 |
| \r | 光标移至行首,但不换行,相当于使用“\r”以后的字符覆盖“\r”之前同等长度的字符:但是当“\r”后面不存在任何字符时,“\r”前面的字符不会被覆盖 |
| |表示插入“\”本身 |
3. 特殊符号%、#的用法
a=`echo '"1,2,3,4"`
echo ${a5,*} #从最后倒数到最短的匹配部分(用%)后面的逗号的地方被删除
1,2,3
echo ${a%%,*} #从最后倒数到最长的匹配部分(用%%)后面的逗号的地方都被删除
1
echo ${a#*,} #从开头到最短的匹配部分(用#)后面的逗号的地方呗删除
2,3,4
echo ${a##*,} #从开头到最长的匹配部分(用##)后面的逗号的地方呗删除
二、循环语句
1. for循环语句
读取不同的变量值,用来逐个执行同一组命令
A[for 变量名 in 取值列表] -->|do| B[命令序列]
B -->|操作对象| C[取值列表]
B -->|取值用完| D[done结束循环]
C -->|循环操作| A
E[for循环流程图]
for 变量名 in 取值列表
do
命令序列
done
例如:
for username in `cat /root/username.txt`
read -p "请输入密码:" passwd
do
if grep "$username:" /etc/passwd &> /dev/null;then
echo "该用户$username已存在,取消新建$username用户"
else
echo "该用户$username不存在,正在为您创建新用户$username"
useradd $username && echo $passwd | passwd --stdin $username &> /dev/null
echo "新用户$username创建成功"
fi
done
2. while循环语句
重复测试某个条件,只要条件成立则反复执行
A{while 条件测试操作} -->|条件成立| B[命令序列]
A -->|条件不成立| C[done 结束循环]
B -->|回到循环| A
D[while循环流程图]
while 条件测试操作
do
命令序列
done
例如:
a=1
while [ $a -le 10 ]
do
useradd newuser$a
echo 123456 | passwd --stdin newuser$a
let a++ #循环规则一定要写,否则将反复执行第一个变量
done
3. until循环语句
重复测试某个条件,只要条件不成立则反复执行
A{until 条件测试操作} -->|条件成立| B[done 结束循环]
A -->|条件不成立| C[do 命令序列]
C -->|回到循环| A
D[until循环流程图]
until 条件测试操作
do
命令序列
done
例如:
sum=0
a=1
until [ $a -gt 50 ]
do
sum=$[$sum + $a]
let a++
done
Shell编程之循环语句与echo的用法的更多相关文章
- 04 shell编程之循环语句
Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l 读取不同的变量值,以逐个执行同一组命令 l For语句结构 for 变量名 ...
- shell编程之循环语句for / while / until
shell编程之循环语句与函数 一.条件测试 二.循环语句 ① for循环语句结构(遍历) 示例1 示例2 ② while循环语句结构(迭代) 示例1 示例2 ③ until 循环语句结构 示例1 一 ...
- Shell脚本中循环语句for,while,until用法
循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...
- Linux - 简明Shell编程06 - 循环语句(Loop)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash # for循环 for fil ...
- shell编程之循环语句
for #! /bin/sh for FRUIT in apple banana pear; do echo "I like $FRUIT" done while #! /bin/ ...
- 02 shell编程之条件语句
Shell编程之条件语句 学习目标: 掌握shell脚本条件测试 掌握if语句编程 目录结构: 条件测试 条件测试概述 l 对特定的条件进行判断,以决定如何执行操作 l 测试的方法 方法1:tes ...
- shell脚本之循环语句与函数
shell脚本之循环语句与函数 echo的用法: echo -n #表示不换行输出 echo -e #输出转义字符,将转义后的内容输出到屏幕上 转义字符: \n :换行,被输出的字符从"\n ...
- if语句 条件测试 shell编程之条件语句
shell 编程之条件语句一.条件测试 ① test命令 测试 ② 文件测试 ③ 整数值比较 ④ 字符串比较 ⑤ 逻辑测试二.if语句的结构 单分支结构 双分支结构 多分支结构三.ca ...
- Shell编程之条件语句:if、case语句
Shell编程之条件语句:if.case语句 一.条件测试 1)test命令测试 2)整数值比较 ...
随机推荐
- Kafka版本介绍Version2.4.0
1.说明 Kafka的版本从0.11.0.X到1.0.X, 再到2.0.X大版本, 其实没有经过几个版本, 只是版本号变化较大. 2.最新发布版本 截止本文章2020年2月22号发布时, Kafka ...
- Kafka和RabbitMQ有哪些区别,各自适合什么场景?
经常有人问我 有个 xx 需求,我应该用 Kafka 还是 RabbitMQ ? 这个问题很常见,而且很多人对二者的选择也把握不好. 所以我决定写篇文章来详细说一下:Kafka 和 RabbitMQ ...
- linux中vim编辑器的翻页命令
Linux jdk查看文件的最后一行 输入$回车 查看文件的第一行 输入0或者1回车 向前翻页 Ctrl + f f为forw ...
- 微信小程序组建通信
子组件传递父组件需要用到triggerEvent方法,当子组件(自定义组件)点击button的时候调用triggerEvent方法传递一些数据,首先第一个属性为自定义名称(myevent)对应父组件( ...
- 构造注入链:POP
1.POP链原理简介: 在反序列化中,我们能控制的数据就是对象中的属性值,所以在PHP反序列化中有一种 漏洞利用方法叫"面向属性编程",即POP( Property Oriente ...
- 【Java】注解Annotation
注解 Annotation 理解Annotation jdk 5.0 新增的功能 Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理.通 ...
- GeoServer介绍
GeoServer本质上是一个地图服务器,它是遵循OpenGIS Web 服务器规范的J2EE实现,通过它可以方便的将地图数据发布为地图服务,实现地理空间数据在用户之间的共享.另外,它也提供了相应的接 ...
- 字节一面:事务还没提交的时候,redolog 能不能被持久化到磁盘呢?
又是被自己菜醒的一天,总结面经看到这题目听都没听过,打开百度就像吃饭一样自然 老规矩,背诵版在文末.点击阅读原文可以直达我收录整理的各大厂面试真题 首先,咱需要明白的是,啥是持久化? 听起来高大上,换 ...
- 【Android】安卓四大组件之Activity(二)
[Android]安卓四大组件之Activity(二) 前言 在这篇文章之前,我已经写过了一篇有关Activity的内容,是关于activity之间的页面跳转和数据传递,而这篇文章着重强调的是Acti ...
- Solon Web 开发,十二、统一的渲染控制
Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...