循环语句
创新互联坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十多年网站建设经验创新互联是成都老牌网站营销服务商,为您提供成都网站制作、成都网站建设、网站设计、H5响应式网站、网站制作、成都品牌网站建设、小程序开发服务,给众多知名企业提供过好品质的建站服务。for循环语句
需要指定一个变量以及可以取值的取值列表,针对每一个不同的取值执行相同的命令序列,直到变量值用尽,退出循环
取值列表:for语句的执行条件,其中包括多个属性相同的对象,需要预先指定。
格式:
for 变量名 in 取值列表
do
命令序列
done
注:
for语句的操作对象为用户指定名称的变量
通过in关键字为该变量预先设置一个取值列表
多个取值之间以空格作为分隔
do~done之间是一个循环体
应用领域:
1、字符串取值列表
#!/bin/bash
#字符串取值列表
for A in 电脑 汽车 手机 书包
do
echo "我要买$A"
done
我在 根目录下的 /opt目录下创建一个的shell脚本名为for01.sh(如下图)
在vi便一种创建脚本
A表示自定义变量名
电脑汽车书包表示待取值
$A表示依次取得值
保存退出
chmod +x for01.sh 为脚本添加执行权限
2、文件取值列表
#!/bin/bash
#文件取值列表(命令执行取值列表)
i=1
for USER in $(cat /opt/a)
do
echo "$i号用户:$USER"
let i++
done
先在 /opt目录下创建个a文件写入一些名字
再创建for02.sh文件写入下图内容
$(cat /opt/a)表示要从这个目录中取值
保存退出为文件添加执行权限
效果如下图
3、扫描ip地址
#!/bin/bash
#扫描ip地址
for IP in 192.168.108.{1..254} //网段
do
ping -c 3 -i 0.2 -W 1 $IP &> /dev/null
if [ $? -eq 0 ];then
echo "$IP is up!!!"
else
echo "$IP is down!!!"
fi
done
创建for03目录
如下图
这里面的192.168.0.是自己的网段
加入执行权限后结果如下图
4、批量添加用户
方法一:同一个姓的
#!/bin/bash
#批量添加用户
for A in teacher{1..5} //添加五个用户
do
useradd $A
echo 123 | passwd --stdin $A &> /dev/null
#echo 123 是为用户设置密码
done
创建for04
添加执行权限并运行如下图
再cat /etc/passwd会显示用户
方法二:不同姓名
vi b.txt
a
b
c
d
e
#!/bin/bash
#批量添加用户
for A in $(cat /opt/b)
do
useradd $A
echo 123 | passwd --stdin $A &> /dev/null
done
创建for05如下图
为文件添加执行权限并运行
完成后在cat /etc/passwd中查看
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。