㈠ shell for循环
#!/bin/bashfornumin12345doforcharin"abcde"doecho$num$chardonedone结果为
㈡ shell里for循环的几种写法
#从文件循环进入,注意aaa.txt每行中不能有空格,不然会有问题
for i in `cat aaa.txt`
do
echo $i
done
#数字循环
for i in `seq 1 100`
do
echo $i
done
#while,可以无视行中的空格
while read line
do
echo $line
done < aaa.txt
㈢ shell编程中的for循环如何实现
运行报错吗
add_all_subscriber()
{
file=subscriber.txt
for i in `seq 100`; do
SubscriberId = 0
a = $(($SubscriberId + $i))
add_one_subscriber $a
sed -e 's/Id/$a/' subscriber.txt >> subscriber_update.txt
done
mv subscriber.txt subscriber_update.txt
rm -rf subscriber.txt
mv subscriber_update.txt subscriber.txt
else
echo "completed"
fi
}
改成下面的内容试下
㈣ 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的所有数字
㈤ linux shell编程 ---- 循环结构
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语句中,用于让脚本跳过后面的语句,执行下一次的循环。
㈥ shell脚本for循环
原因:
1. 因为你所处理的文件换行符是dos格式的”
” ;
2. 可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m?需要转换成linux/unix格式的”\n”;
3. 具体转换办法就是转换换行符 。
可以用sed命令处理一下文件,命令如下:?
1. sed ‘s/\r//’ 原文件 >转换后文件 ;
2. sed 命令的参数中 ”代表决定引用参数,不允许参数中的值让shell解释,s代表替换 /后面跟的是被替换的内容,后面的//代表替换后的内容为空 ;
3. 推荐使用EditPlus或者UltraEdit,使用这些文本编辑工具,在保存时,可以选择保存的文字编码类型,比如选择UNIX格式换行符;
4. 我比较喜欢EditPlus的join lines功能,把多行的值变成一个逻辑行,便于写到shell脚本中作为循环的变量。
㈦ 编写一个shell程序,实现用for循环输出1到20间的奇数
#!/bin/sh
for ((i=1;i<20;i=i+2));
do
echo $i
done
类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
命令行式shell(Command Line Interface shell ,即CLI shell)
例如:
bash / sh / ksh / csh / zsh(Unix/linux 系统)
(7)shell编程for循环扩展阅读:
传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理与操作系统之间的交互:等待输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
shell提供了与操作系统之间通讯的方式。这种通讯可以以交互方式,或者以shell script方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
㈧ shell循环结构有哪些
Shell循环结构有多种循环形式,包括while循环、until循环、for循环和select in循环。
while循环
while 循环是Shell中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环。
until循环
unti 循环和 while 循环恰好相反,当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环。
for循环的exp1、exp2、exp3 是三个表达式,其中 exp2 是判断条件,for 循环根据 exp2 结果来决定是否继续下一次循环。
Select In循环
select in循环是Shell独有的一种循环方式,用来增强交互性,可以通过列表中的编号来获取到每一个值
㈨ shell里的for循环怎么写
for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区域(在do和done 之间),直到所有元素取尽为止。
其中,串行是一些字符串的组合,彼此用$IFS所定义的分隔符(如空格符)隔开,这些字符串称为字段。
for的语法结构如下:
1
2
3
4
for 变量 in 串行
do
执行命令
done
说明:
行1,讲串行中的字段迭代放入变量中
行2-4,接着将重复执行do和done之间的命令区域,直到串行中每一个字段军处理过为止。
流程图:
用例1
用for循环在家目录下创建aaa1-aaa10,然后在aaa1-aaa10创建bbb1-bbb10的目录
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
for k in $( seq 1 10 )
do
mkdir /home/kuangl/aaa${k}
cd /home/kuangl/aaa${k}
for l in $( seq 1 10 )
do
mkdir bbb${l}
cd /home/kuangl/aaa${k}
done
cd ..
done
说明:
行2,seq 用于产生从某个数到另外一个数之间的所有整数。
行4,在家目录下创建文件夹。
行6,在使用一个for循环创建文件夹
测试结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@test01 kuangl]# ll
total 80
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa1
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa10
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa2
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa3
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa4
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa5
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa6
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa7
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa8
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa9
[root@test01 kuangl]# cd aaa1
[root@test01 aaa1]# ll
total 40
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb1
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb10
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb2
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb3
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb4
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb5
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb6
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb7
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb8
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb9
1
用例2
列出var目录下各子目录占用磁盘空间的大小。
1
2
3
4
5
6
7
#!/bin/bash
DIR="/var"
cd $DIR
for k in $(ls $DIR)
do
[ -d $k ] && -sh $k
done
说明:
行4,对/var目录中每一个文件,进行for循环处理。
行6,如果/var下的文件是目录,则使用 -sh计算该目录占用磁盘空间的大小。
测试结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@test01 scripts]# ./var.sh
276M cache
4.0K cvs
84K db
8.0K empty
4.0K ftp
4.0K games
4.0K gdm
21G lib
4.0K local
16K lock
7.4G log
4.0K logs
0 mail
4.0K nis
4.0K opt
4.0K preserve
336K run
3.7G spool
212K tmp
4.1G www
4.0K yp