哪个网站下载软件最安全,推广策略是什么,windows优化大师在哪里,wordpress相册标签1. for命令
下面是bash shell中for命令的基本格式。
for var in list docommands
done每次for命令遍历值列表#xff0c;它都会将列表中的下个值赋给$test变量。$test变量可以像for 命令语句中的其他脚本变量一样使用。在最后一次迭代后#xff0c;$test变量的值会在shell脚…1. for命令
下面是bash shell中for命令的基本格式。
for var in list docommands
done每次for命令遍历值列表它都会将列表中的下个值赋给$test变量。$test变量可以像for 命令语句中的其他脚本变量一样使用。在最后一次迭代后$test变量的值会在shell脚本的剩余 部分一直保持有效。它会一直保持最后一次迭代的值(除非你修改了它)。
$ cat for_test.sh
#!/bin/bash
for test in Alabama Alaska Arizona Arkansas California
doecho The text next state is $test
done
echo The last state we visited was $test
testhello
echo Wait, now were visiting $test$ bash for_test.sh
The text next state is Alabama
The text next state is Alaska
The text next state is Arizona
The text next state is Arkansas
The text next state is California
The last state we visited was California
Wait, now were visiting hello从变量中读取值
#!/bin/bash 13
# using a variable to hold the list
listAlabama Alaska Arizona Arkansas Colorado
list$list Connecticutfor state in $list
doecho Have you ever visited $state?
done从命令中读取
$ cat test5
#!/bin/bash
# reading values from a file
filestates
for state in $(cat $file)
doecho Visit beautiful $state
done更改字段分隔符
特殊的环境变量IFS叫作内部字段分隔符(internal field separator)。IFS环境变量定义了bash shell用作字段分隔符的一系列字符。默认情况下bash shell会将下列字 符当作字段分隔符:
空格制表符换行符
可以在shell脚本中临时更改IFS环境变量的值来限制被bash shell当作字段 分隔符的字符。
IFS$\n用通配符读取目录
$ cat test6
#!/bin/bash
for file in /home/rich/test/*
doif [ -d $file ]thenecho $file is a directoryelif [ -f $file ]thenecho $file is a filefi
done
$ ./test6
/home/rich/test/dir1 is a directory
/home/rich/test/myprog.c is a file
/home/rich/test/myprog is a file
/home/rich/test/myscript is a file
/home/rich/test/newdir is a directory
/home/rich/test/newfile is a file
/home/rich/test/newfile2 is a file
/home/rich/test/testdir is a directory
/home/rich/test/testing is a file
/home/rich/test/testprog is a file
/home/rich/test/testprog.c is a file1.1 类C语言for语句
C语言风格的for命令看起来如下
for (( a 1; a 10; a )) 注意有些部分并没有遵循bash shell标准的for命令:
变量赋值可以有空格;条件中的变量不以美元符开头;迭代过程的算式未用expr命令格式。
以下例子是在bash shell程序中使用C语言风格的for命令。
$ cat test8
#!/bin/bash
# testing the C-style for loop
for (( i1; i 10; i ))
doecho The next number is $i
done
$ ./test8
The next number is 1
The next number is 2
The next number is 3
The next number is 4
The next number is 5
The next number is 6
The next number is 7
The next number is 8
The next number is 9
The next number is 10
$2. while命令
while命令的格式是:
while testcommand doother commands
donewhile命令的关键在于所指定的test command的退出状态码必须随着循环中运行的命令而 改变。如果退出状态码不发生变化 while循环就将一直不停地进行下去。
最常见的test command的用法是用方括号来检查循环命令中用到的shell变量的值。
$ cat test10
#!/bin/bash
# while command test
var110
while [ $var1 -gt 0 ]
do
echo $var1var1$[ $var1 - 1 ]
done
$ ./test10
10
9
8
7
6
5
4
3
2
1
$