linux基础之shell编程(4)-for循环

for循环



用法:

for 变量 in 列表; do
    循环体
done

那么如何生成列表呢?

{1..100} 

这样就能生成列表了

===========================================

例:

#!/bin/bash
#
for I in {1..100};do
    echo $I
done

seq

用seq命令也可以生成列表

用法:

seq [起始数 [步进长度]] 结束数

例:

[root@iZ28g26851kZ ~]# seq 1 10
1
2
3
4
5
6
7
8
9
10
[root@iZ28g26851kZ ~]# seq 1 2 10
1
3
5
7
9
[root@iZ28g26851kZ ~]# seq 10
1
2
3
4
5
6
7
8
9
10
[root@iZ28g26851kZ ~]# 

seq在for循环中的应用

#!/bin/bash
#
for I in `seq 1 2 10`;do
    echo $I
done

记住要用反单引号引起来哟~

例:求1到100的和

#!/bin/bash
#
sum=0
for I in `seq 100`;do
   let sum=$sum+$I
done
echo "sum=${sum}"

declare



以前说过,bash中,变量默认都是字符类型,

那如何才能将一个变量直接申明成整型?

declare就可以直接将变量申明成整型

#!/bin/bash
#
declare -i sum=0
for I in `seq 100`;do
   let sum=$sum+$I
done
echo "sum=${sum}"

例:向系统中每一个用户问好~

#!/bin/bash
#
for NAME in `cat /etc/passwd | cut -d: -f1`;do
    echo "hello ${NAME}~"
done

例:向系统中每一个用户问好,并显示其shell~

#!/bin/bash
#
for NAME in `cat /etc/passwd | cut -d: -f1`;do
    echo "hello ${NAME}~...........`cat /etc/passwd | grep ^$NAME | cut -d: -f7`"
done

例:只对系统中shell是bash的用户问号,

#!/bin/bash
#
for NAME in `cat /etc/passwd | cut -d: -f1`;do
    SHELL_NAME=`cat /etc/passwd | grep ^$NAME | cut -d: -f7 | sed -r ‘[email protected]^/.*/(.*)@\[email protected]‘`
    if [ $SHELL_NAME == "bash" ];then
        echo "hello ${NAME}~...........`cat /etc/passwd | grep ^$NAME | cut -d: -f7`"
    fi
done
时间: 2024-10-28 16:11:32

linux基础之shell编程(4)-for循环的相关文章

linux 基础与shell编程[笔记]

linux 基础与shell编程 linux 系统知识 linux是一个OS ,也是一个完全免费 开源 自由软件 linux 1991   荷兰大学生课程设计   unix GPL协议 GPL:General Public License 是一份GNU(完全自由软件操作系统)是一个广泛使用的自由软件许可证条款 常见的linux发行版本: Debian:Debian为一款提供您安装在计算机上使用的操作系统 (OS).操作系统就是能让您的计算机工作 的一系列基本程序和实用工具.由于 Debian 采

linux基础之shell编程(1)

shell:属于弱类型编程语言 什么是弱类型,什么是强类型? 强类型:变量在使用前,必须事先声明,甚至还需要初始化: 弱类型:变量用时声明,甚至不区分类型: 变量赋值,引用 赋值:VAR_NAME=VALUE 引用:${VARNAME} (花括号一般可以省略) 例: [root@iZ28g26851kZ ~]# name=test --赋值 [root@iZ28g26851kZ ~]# echo $name --引用 test [root@iZ28g26851kZ ~]# bash变量类型 环境

linux基础之shell编程(2)-条件判断,算数运算,测试

bash中如果实现条件判断? 条件测试类型 整数测试 字符测试 文件测试 条件测试的表达式 有三种 [ expression ] --方括号与表达式之间一定要有一个空格 [[ expression ]] test expression 整数测试 -eq: 测试两个整数是否相等 例:$A -eq $B -ne: 测试两个整数是否不等 不等为真,相等为假 -gt: 测试一个数是否大于另一个数:大于,为真:否则,为假: -lt: 测试一个数是否小于另一个数:小于,为真:否则,为假: -ge: 大于或等

linux基础之shell编程(3)-给脚本设置参数

bash的变量类型 本地变量(局部变量) 环境变量 位置变量:$1,$2,$3, ... 特殊变量:$?,$#,$*,[email protected] 那让脚本拥有获取外界参数的能力就要用的位置变量,$1代表第一个参数,$2代表第二个参数,依次类推 例: vartest.sh #!/bin/bash # ONEVAR=$1 TWOVAR=$2 THREEVAR=$3 echo "第一个参数是:${ONEVAR}" echo "第二个参数是:${TWOVAR}" e

Linux下的shell编程入门

通常情况下,我们从命令行输入命令每输入一次就能够得到系统的一次响应.一旦需要我们一个接着一个的输入命令而最后才得到结果的时候,这样的做法显然就没有效率.要达到这样的目的,通常我们利用shell程序或者shell脚本来实现. 一.简介 Shell编程有很多类似C语言和其他程序语言的特征,但是又没有编程语言那样复杂.Shell程序就是放在一个文件中的一系列Linux命令和实用程序,在执行的时候,通过Linux一个接着一个地解释和执行每个命令. 下面我们来看一个简单的shell程序: 1.首先建立一个

shell编程(十三) --- while循环

while循环适用于循环次数未知的场景. 语法格式: while CONDITION do     statement     -- done 说明:while是当CONDITION成立的时候就执行循环,当条件不成立时,退出循环. 示例1:计算从1加到100. [[email protected] Learn]# cat while1.sh  #!/bin/bash declare -i sum=0 declare -i i=0 while [ $i -le 100 ] do      let 

Linux基础知识——shell命令类型及命令使用帮助

加入马帮有一段时间了,看到群里面大总管要检查博客,才意识到,原来我还没有写过作业.俗话说的好,时间是把杀猪刀!!!咳咳,其实想说,马哥视频忒长,内容贼多,对于文笔不好我来说,写作业压力山大啊,有木有.嗯.嗯,长话短说,进入正题. 两个星期过去,课程进度有点掉队,这篇博文主要记录基础命令课程知识,用于梳理知识点并加深印象,为今后行走linux之路打下坚实基础的好开端,完成该博文并回顾相关知识点后,期望加快学习步伐,稳扎稳打,跟上进度,good good study,day day up! 1.  

Linux学习之Shell编程基础

转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.  当编辑好脚本时,如果要执行该脚本,还必须使其可执行.  要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.2 注释  在进行shell编程时,以#开头的

Linux与Unix shell编程指南(完整高清版).pdf

找到一本很详细的Linux Shell脚本教程,其实里面不光讲了Shell脚本编程,还介绍了系统的各种命令 http://vdisk.weibo.com/s/yVBlEojGMQMpv 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题.本书内容全面.文字简洁流畅,适合Shell编程人员学习.参考. 目      录 译者序 前言 第一部分   shell 第1章   文件安全与权限 1 1.1   文件 1 1.2   文件