忧郁者 发表于 2018-8-28 07:59:43

shell脚本的使用---for循环

  shell脚本的循环:重复执行命令
  1.for循环
  语法
  for 变量名称 in 变量值列表
  do
  命令
  done
  for根据变量值列表中的内容,重复执行命令,直到变量值列中的所有内容都取值完后结束。
  取值列表的类型:可以是特定文本文件,命令生成列表
  案列:
  vi user.txt
  zsan
  lisi
  :wq
  vi useradd_for.sh
  #!/bin/bash
  Un=$(cat /root/bin/user.txt)
  for i in $Un
  do
  useradd #i
  ehco 123123 |passwd --stdin $1
  done
  :wq
  chmod +X useradd_for.sh
  ./useradd_for.sh
  案列:检查网络中存活主机
  vi chk_net_alive_host.sh
  #/bin/bash
  read -p "please your want chk net:" NET   ##输入192.168.100
  for i in $(seq 1 254)
  do
  ping -c 2 $NET.$i &&echo "$NET.$i is up."
  done
  :wq
  案列:设置开机服务
  vi ck.list
  crond
  dhcpd
  :wq
  vi onboot_for.sh
  #!/bin/bash
  SL=$(cat /root/bin/ck.list)
  for i in $SL
  do
  /etc/init.d/$i status |grep pid
  if [ $? -ne 0 ];then
  /etc/init.d/$i restart
  fi
  chkconfig $i on
  done
  :wq
  for取值列表扩展:序列列表,数组列表
  序列列表:
  vi for_list.sh
  #!/bin/bash
  FL={vsftpd,dhcpd,named}
  for i in $FL
  do
  /etc/init.d/$i restart
  chkconfig $i on
  done
  for i in {1..254}
  do
  ping -c 2 192.168.10.$i &>/dev/null
  done
  :wq

页: [1]
查看完整版本: shell脚本的使用---for循环