shell总结四

shell script

判断的进阶写法:

&&:与的意思,连接2个或多个命令,前面的执行成功或者返回true后面的命令才执行,前面的执行失败后面的命令就不会执行

||:或的意思,连接2个或多个命令,前面的执行成功了立即退出,后面就不执行;执行失败继续向后执行,直到有执行成功的就结束

“||” ”&&”没有优先级区分

&&:
在这里插入图片描述
||:
在这里插入图片描述
&&和||:每个“||”或者 ”&&”参考的是这个符号之前的整体执行结果(ture或者false)
在这里插入图片描述
if的替代写法:
在这里插入图片描述
if else的替代写法:
在这里插入图片描述
elif的替代写法:
在这里插入图片描述
实际中更常用的一些写法:
在这里插入图片描述
在这里插入图片描述

for:

for in 是for循环的基本用法。for语句后紧跟一个变量,该变量将被送入循环,每次循环都会将in后的一个元素赋值给该变量。

do和done标记了for循环的开始和结束。
[root@test scripts]# cat for.sh

#!/bin/bash

for i in a b c

do

echo $i

done

[root@test scripts]# sh for.sh

a

b

c

写到一行:

在这里插入图片描述
注意:in后面跟若干值不常用,常用的是把一些值写在配置文件中,以空格或者换行分隔,然后用命令引用这个配置文件

在这里插入图片描述
for 循环的利器seq命令

seq命令可以产生一组数据,这组数据从第一个参数开始,第二个参数结束。

如果需要步长,三个参数,中间的参数为步长:
在这里插入图片描述
经典用法:

for i in seq 1 20;do ssh 192.168.2.$i “cat /etc/passwd|grep zhangzhe”;done

for i in seq 1 500;do touch $i.txt;done

for + continue:
在这里插入图片描述
while循环

经典用法:
在这里插入图片描述
说明:整型计算,shell script中有若干种整形计算的方式,在这里计算的表达式由“$(( ))”作为标志,括号里面填写表达式。

while true

while循环在shell script里面一个常用的地方就是创建一个死循环
在这里插入图片描述
while read line

while read的用法是shell script中出现率仅次于for循环的循环,几乎所有复杂文本的处理都需要用到while read line这样经典的语句。

while read 后紧跟一个变量,隐性的为该变量赋值。(for 和read后的变量都是赋值操作,所以没有“$”符号。)

用法一:
在这里插入图片描述
说明:读取一个文件,管道给while read,然后while read读取文件中的每一行赋值给变量line,逐行打印文件内容。

用法二:
在这里插入图片描述
和基本用法以类似,只是文件不以管道形式传送,而在while循环末尾的done后面使用重定向

区别:

方式一:
在这里插入图片描述
方式二:
在这里插入图片描述
说明:使用管道的while read会启动一个子shell,在其中的修改不会带到父shell中。重定向的while read没有这个问题

交互:

read:

read交互可以让用户输入一串字符,这串字符赋值给某个变量。在linux下经常可以看到要求输入“yes/no”,这就是类似read的用法。

在这里插入图片描述
read有时候需要交互的是密码,密码是不希望被看到的。有一个参数可以使用:
在这里插入图片描述
select:

用于确定的选择。也就是说脚本已经有明确的若干选项,不希望用户输入这些选项内容,只希望用户指定某个选项。
在这里插入图片描述

注意事项:

1.PS3是一个系统变量,专门用于select的提示语句;

2.select后的变量也是即将赋值的,所以不加“$”;

3.do和done之间必须有一个break,不然程序无法继续向下执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值