本文共 1146 字,大约阅读时间需要 3 分钟。
循环输出10次
#!/bin/bashi=0while((i<10))do ((i++)) echo $idone
#!/bin/bash#此处i=1是为了证明for的括号会自动识别变量,所以会从1输出到9i=1for((i;i<10;i++))do echo $idone
#!/bin/bash#循环1-20for i in { 1..20}do echo $idone
#!/bin/bash#循环字符串today=`date +"%Y%m%d"`for i in { asd,qwe,zxc,1,2,3,$today}do echo $idone
输出结果:
asd qwe zxc 1 2 3 20210518arr=(1 2 3 asd qwe zxc)for i in ${arr[@]}do echo $idone
当 $* 和 $@ 不被双引号" "包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。
但是当它们被双引号" "包含时,就会有区别了:
" ∗ " 会 将 所 有 的 参 数 从 整 体 上 看 做 一 份 数 据 , 而 不 是 把 每 个 参 数 都 看 做 一 份 数 据 。 " *"会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。 " ∗"会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。"@"仍然将每个参数都看作一份数据,彼此之间是独立的。#!/bin/bash#如果是不加双引号或者是$*的话传入参数只作为一整串字符串for i in "$@"do echo $idone#或者↓#arr=$@#for i in ${arr[@]}#do# $i#done#运行时候执行./test.sh 1 2 3#输出123
#!/bin/bashcd /homefor i in `find / -type f -name "*.log"`do echo $idone
用两种循环将文件读入
#!/bin/bash#while版while read Filedo echo $Filedone < /home/host_change.txt#for版for i in `cat /home/host_change.txt`do echo $idone
#!/bin/basharr=( time=`date` if=`ifconfig` mem=`free`)cat >/home/test/info.txt<
转载地址:http://iffci.baihongyu.com/