linuxfor循环
linux
shell编程
----
循环结构1
for循环
1
for循环是linux
Shell中常用的结构,for循环有三种结构;一种是列表for循环,第二种是不带列表的for循环,第三种是类C风格的for循环。
2
列表for循环
for
variable
in
list
do
statement
done
3
不带列表for循环
for
variable
do
statement
done
4
类C风格的for循环
for
((
expr1;
expr2;
expr3
))
do
statement
done2
while循环
1
while循环的结构
while
expression
do
statement
done
3
until循环
1
在执行while循环的时候只要expression的退出状态为0,将一直执行循环体。until命令和while命令类似,但区别是until循环中的expression的退出状态不为0的时候循环体将会一直执行。
2
until的结构
untile
expression
do
statement
done
4
循环控制符号
1
break语句可以应用在for,while和until循环语句中,用于强行循环,也就是忽略循环体中任何其它语句和循环条件的限制。
2
continue循环控制符应用在for,while和until语句中,用于让脚本跳过后面的语句,执行下一次的循环。
2. Linux编程问题 利用for循环将当前目录下的.c文件移到指定的目录下,并按文件大小排序,显示移
解:
dir=/home/hzxyjsj
for f in *.c
do
mv $f $dir
done
ls -S $dir
注:写法多样,这只是其中一种写法。
(2)linuxfor循环扩展阅读:
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。
3. linux shell for循环怎么写
for I in list; do
statement
done
I 是变量
list是一个表格 如你可以使用一串用括号括起来的数,
也可以使用 命令替换 `seq 1 15` 这个命令忘记了,, 有可能是 `seq 15`
[1..15]
表示1-15的数,,
statement 即要执行的语句
for I in [1..10]; do
echo $I
done
这段for循环的含义就是显示从1~10的所有数字
4. Linux:关于脚本for循环的执行顺序
执行一次,for in 后边的`` 或 $() 会产生一个list。然后依次读取。
5. Linux怎么用for循环实现从一到200$
for循环的常见三种用法
(1)Ubuntu系统在6.10版本后默认使用dash环境;
(2)而CentOS系统常见默认使用的是bash环境;
(3)二者存在一定的区别,部分for循环方式在dash环境下不兼容。
6. linux的for循环的写法
Linux下使用while…;do done语句来写循环语句,其实也非常简单,比如说,我们要写一个循环5次的命令。
可以这样来写:
I=1
While [$I<=5];do
语句…
Done
I=$(($I+1))
其中,I=$(($I+1))说明我们这个循环每次递增的数为1,也就是在I的基础上加1,这样就形成了循环了。
====================================
脚本1:
#!/bin/sh
for loop in 1 2 3 4 5
do
echo $loop
done
脚本2:
#!/bin/sh
for loop in "orange red blue grey"
do
echo $loop
done
有了""就是字符串,只循环一次
第二个循环的循环变量会依次为orange red blue grey中的每一个。
7. linux中,利用for循环实现变量i依次取值为a,b,c,d(均为变量)
foriin$a$b$c$d
do
echo$i
done
如果a b c d为字符串变量且含有空格,建议放在双引号中,写为 "$a" "$b" "$c" "$d"
8. Linux shell for 循环和双层循环
Shell 脚本一直以来不是很入门,很多时候就是用到再查,发现自己有几个重复用比较高的点,还是记录一下,至少查的时候能少费点功夫~~
(1)列表for循环
Shell支持使用略写的计数方式,如{1..10},表示1到10的整数数字;
Shell还支持安规定的步数进行跳跃的方式实现列表for循环,例如计算1~100之内所有奇数的和。
i 按照2的增量增长,一直到增长到100。即实现100内奇数加和。还可以使用seq命令实现按2递增来计算1..100内的所有奇数之和。 for i in $(seq 1 2 100) ,seq 表示起始值为1,增量为2,结束条件值为100。
for循环除了数字列表,还可以生成字符串行表,如列出当前文件夹下的所有文件:
还可以传递命令行参数
$#表示传递的参数的个数;$@表示参数的列表。
(2) 类C风格的for循环
也称之为计次循环。 切记使用的是双括号。
上面的计算100以内奇数的和可以使用类C的for循环实现
通过for循环实现九九乘法表