for循环批量写文件 shell_shell中的for循环用法详解

本文详细介绍了shell脚本中for循环的各种用法,包括遍历文件、序列和命令输出,以及C风格的for循环。文章还提供多个实战示例,如清空arp缓存、生成随机数、倒数计时、批量添加用户等,强调了脚本编写规范和注意事项,并讲解了break和continue语句的使用。此外,文章提供了根据用户输入批量创建用户脚本的案例,强调了用户数量限制和错误处理。
摘要由CSDN通过智能技术生成

for 命令:

for i in 的各种用法 :

for i in “file1” “file2” “file3”

for i in /boot/*

for i in /etc/*.conf

for i in $(seq -w 10) --》等宽的01-10

for i in {1…10}

for i in $( ls )

for I in $(< file)

for i in “$@” --》取所有位置参数,可简写为for i

注意:bash shell支持C式for循环

#!/bin/bash

j=$1

for ((i=1; i<=j; i++))

do

touch file$i && echo file $i is ok

done

$@: 所有位置变量的内容

$#: 位置变量的个数

$0: 文件名

$*: 所有位置变量的内容

编写脚本应该注意的事项:

开头指定使用什么shell,例如:bash,ksh,csh等

脚本功能描述,使用方法,作者,版本,日期等

变量名,函数名要有实际意义,函数名以动名词形式,第二个单词首字母要大写。例如:updateConfig()

缩进统一用4个空格,不用TAB

取变量值使用大括号,如${varname}

删除文件时,如果路径有变量的,要判断变量有值,如rm -f ${abc}/* 如果变量abc没有值,则会把根目录下的文件删除

脚本中尽量不要使用cd变换目录

函数中也要有功能描述,使用依法,版本,日期等

函数的功能要单一,不要太复杂

$()比` `更好

尽量不要使用多层if语句,而应该以case语句替代

如果需要执行确定次数的循环,应该用for语句替代while语句

输入的参数要有正确性判断

多加注释,方便自己或他人阅读。

练习1:编写脚本清空所有arp缓存记录:

#!/bin/bash

for i in $(arp | tail -n +

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值