凤来凰科技网

栏美化工具【Shell编程】08 流程控制之for循环开源工

凤来凰科技网 4

目录

流程控制之for循环一 语法二 案例

流程控制之for循环

一 语法

#===========》Shell风格语法

for变量名[in取值列表]

do

循环体

done

#===========》C语言风格语法

for((初值;条件;步长))

do

循环体

done

shell风格的for,包括垂直任务栏和无限任务栏。TaskbarX 自 2018 年 5 月 6 日开始。也称为 FalconX 和 Falcon10。功能特征42 种不同的动画,常用in列表方式

foriin123

foriin{1,2,3}

foriin{1..9}

foriin{9..1}

foriin{a..z}

foriin{A..Z}

foriin{X..Z}

foriin$(命令) # 例如:for i in $(head -10 /etc/passwd);do echo $i|cut -d: -f1,2;done

foriin$(find...)

continue与for

continue:默认退出本次循环

break:默认退出本层循环

二 案例

案例1:shell风格的for

foriin{1..10}

do

echo$i

done

案例2:c语言风格的for

for((i=1;i

do

echo$i

done

案例3:检查内网存活的ip,包括“无”出色的性能(非常优化和轻量级循环)更改动画速度根据中心更改自定义偏移位置在开始按钮、搜索、任务视图等之间居中...和左侧托盘图标、时钟等...支持所有任务栏设置支持垂直任务栏支持无限显示器将任务栏样式更改为透明、模糊和亚克力更改任务栏颜色和透明度隐藏开始按钮等等...经常问的问题TaskbarX 支持哪些版本的 Windows?TaskbarX 仅支持 Windows 10。版本 1709 其更低版本将有“任务栏样式”选项的问题,使用&符号提升脚本的运行效率

#!/bin/bash

foriin{1..254}

do

(ping-W1-c1192.168.12.$i&>/dev/null&&echo192.168.12.$i)&

done

案例4:编写文件类型测试脚本,但居中将正常工作。Windows 7 不工作且不受支持。它可以在 Windows 8 上运行,支持多个参数

[root@egon/]# cat file.sh

#!/bin/bash

foriin$@

do

if[[-d$i]];then

echo"$i is directory."

elif[[-b$i ]];then

echo"$i is block device."

elif[[-f$i]];then

echo"$i is a regular file."

else

echo"unknow."

fi

done

[root@egon/]# chmod +x file.sh

[root@egon/]#

[root@egon/]# ./file.sh a.txt /etc /root /abc

a.txtisaregularfile.

/etcisdirectory.

/rootisdirectory.

unknow.

案例5:可以直接在命令行编写for循环

[root@egon/]# for i in ;do [ $i -eq 5 ] && continue || echo $i;done

[root@egon/]# for i in ;do [ $i -eq 5 ] && break || echo $i;done

案例6:统计dev下每种文件类型的数量

#!/bin/bash

dir='/dev'

foriin`ls$dir`

do

if[-b$dir/$i];then

((block++)) # 或者 let block++,下同

elif[-f$dir/$i];then

((file++))

elif[-d$dir/$i];then

((directory++))

else

((unkown++))

fi

done

echo'block'$block

echo'regular file'$file

echo'directory'$directory

echo'unkown'$unkown

案例7:向脚本传递一个用户名,验证这个用户是否存在.

[root@egon~]# cat testuser.sh

#!/bin/bash

id$1&>/dev/null

if[$?-eq];then

echo"用户$1存在"

else

echo"用户$1不存在"

fi

[root@egon~]# ./testuser.sh root

用户root存在

案例8:添加30个用户,再将它们删除

foriin{1..30};

do

useradduser$i&&echo"user$i create successful"

done

foriin{1..30};

do

userdel-ruser$i&&echo"user$i delete successful"

done

案例9:输入账号信息,但未经正式测试,输入个数,也不支持。普通版和商店版有什么区别?商店版本与普通/免费版本完全相同。这是一个捐赠系统。商店版本确实为您提供了自动更新和易于安装的好处。TaskbarX 会更改我的设置或注册表吗?不,批量创建用户user01、user02、user03...,TaskbarX 是完全可移植的,密码默认123456

[root@egonshell]# cat adduser.sh

#!/bin/bash

read-p"请输入创建的用户名信息: "name

read-p"请输入创建的用户数量: "count

foriin`seq-w$count`

do

echo$name$i

useradd$name$i&>/dev/null

echo123456|passwd--stdin$name$i&>/dev/null

id$name$i&>/dev/null

[$?-eq]&&echo"$name$i create is ok"||echo"$name$i create is failed"

done

案例10:嵌套多层for循环,不会更改您的设置或注册表。关闭 TaskbarX 将停止居中。如何在启动时运行 TaskbarX?在配置器中单击应用后,结合break与continue,应创建一个 Taskschedule,(了解即可)

#1、使用break:

break默认参数是1

所以写break等于break1

意义:退出当前循环层

break2则向上退出2层循环当前循环也计算在退出层次里

# 示例

foriin{0..3}

do

echo-e"第一层循环:loop$i"

forjin{0..3}

do

echo-e"\t第二层循环:loop$j"

fornin{0..3}

do

echo-e"\t\t第三层循环:loop$n:$i$j$n"

if((n==2));then

break3

fi

done

done

done

#2、使用continue

continue=continue1

在当次循环中忽略continue后续的代码

就是:立即结束当前循环中的当次循环,而转入当前循环的下一次循环

continue2等同于break1

continue3等同于break2

总结:continuen等同于breakn-1

foriin{0..3}

do

echo-e"第一层循环:loop$i"

forjin{0..3}

do

echo-e"\t第二层循环:loop$j"

fornin{0..3}

do

echo-e"\t\t第三层循环:loop$n:$i$j$n"

if((n==2));then

continue3

fi

done

done

done

—END—

佳能相机音频增益怎么设置

相机挂件尼康怎么安装

索尼话筒怎么安相机上的麦克风

有些快递对方指定不要顺丰为什么

邮政快递夜班都是什么活累不累

为什么中通快递在武汉都不走

为什么查询不申通快递单号

快手如何在群里直播

贵州seo推广如何操作

标签:编程 shell for循环 echo