1.for语句
for var in list
do
commands;
done
for test in Arizona Arkansas "New York" Colorado “this'll” //注意list写法
当列表中包含单引号时,这部分内容需要用双引号,以让他们保持一个整体,默认是以空格作为分隔符,New York 是一个整体,中间有空格,也需要使用双引号
do
commands
done
每一次循环都把list中的下一个值赋给$test
list="Arizona Arkansas Arizona Arkansas"
list=$list" hello" //在原来的list上增加一个值
for state in $list //不需要冒号,从变量中获取值
do
echo "Have you ever visited $state"
done
file="states" //这是跟脚本在同一个目录下的一个文件
for state in $file
do
echo "visit beautiful $state"
done
2.更改字段分隔符
bash shell会将 空格、制表符、换行符当作分隔符
file="states" //这是跟脚本在同一个目录下的一个文件
IFS.OLD=$IFS //先保存
IFS=$'\n' //表示把换行符作为分隔符,默认是空格,临时修改
for state in $file
do
echo "visit beautiful $state"
done
IFS=$IFS.OLD //恢复
指定多个分隔符
IFS=$'\n':;" 同时将换行\n 冒号 分号 双引号 作为分隔符
3.用通配符读取目录
可以用for命令自动遍历目录中的文件
for file in /home/rich/test/* //注意*号
if [ -d "$file" ] //注意引号
then
echo "$file is a directory"
elif [ -f "$file" ]
then
echo "$file is a file"
fi
6.C语言风格的for命令
for (( a=1,b=10;a<10;a++,b--))
do
echo "$a-$b"
done
7.while循环
while test command //[ $var1 -gt 0 ]
do
commands;
done
网友评论