别着急,坐和放宽
for 参数 in 列表
do
执行命令
done
# 批量修改文件后缀
# basename命令用于去掉文件后缀,取出文件名。
# 用法:basename a.mp3 .mp3
for filename in `ls *.mp3` ; do
name=$(basename $filename .mp3)
mv $filename $name.mp4
done
# 使用数组
for i in {1..9} ; do
echo $i
done
# 为文件中用户分别创建目录
for name in `cat names.txt`; do
mkdir /home/$name
done
# 写一个清理脚本
while test测试是否成立
do
执行命令
done
while test测试一直成立
do
执行命令
done
test测试一直成立
命令执行成功
空语句while :
基本语法
until循环与while循环相反,循环测试为假时,执行循环,为真时循环停止
while :
进行空语句测试。until循环正好与while相反,当测试条件为假时执行。当循环嵌套时,可使用break和continue控制跳出或继续循环。最后,介绍如何处理命令行位置参数,包括使用$1、$2等读取参数,$*和$@代表所有参数,$#为参数的数量。while : ; do
echo always
done
until test测试为假
do
执行命令
done
until [ 5 -lt 4 ] ; do
echo always
done
# 检查/etc/profile.d下的sh脚本,并执行
for sc_name in /etc/profile.d/*.sh
do
# echo $sc_name
if [ -x $sc_name] ; then
. $sc_name
fi
done
for num in {1..9}
do
if [ $num -eq 5 ] ; then
break # 换成continue呢
fi
echo $num
done
# 发现help参数,并输出两次
for pos in $*
do
if [ "$pos" = "help" ] ; then
echo $pos $pos
fi
done
# while改写
while [ $# -ge 1 ]
do
if [ "$1" = "help" ] ; then
echo $1 $1
fi
shift
done