Linux进阶之bash编程(流程控制for循环)

  1. bash脚本里定义后续命令执行日志输出路径


  2. #!/bin/bash
    logDir=`date +%F`
    exec &>/tmp/logDir.log      
    //此次定义后续命令的执行输出日志路径
    df -h
    top
  3. for循环


    循环允许你重复一段代码固定次数,在循环代码执行期间,一个称为循环变量的特殊变量被赋予了不同的值;

    for循环很适合处理命令行上的参数以及文件集,for结构的语法如下:

    for name [in list]

    do

    statements

    done

    list为名称列表,如果in list被省略,列表默认为"[email protected]",即命令行参数的引用列表。



3. 练习

例如:

  • 获取执行脚本附带的参数并输出

for.sh:

    #!/bin/bash
    for fileDir in "[email protected]"
    do
      echo  "$fileDir"
    done

执行

#bash for.sh /var /opt /tmp
/var
/opt          
/tmp
  • 输出1-n,n为执行脚本带入的参数

for2.sh:

#!/bin/bash
for i in `seq $1`
do
 echo "$i"
done

执行:

#bash for2.sh  3
           
1
           
2
           
3
  • 计算从1加到n为多少,n为你执行该脚本时带入的参数?

vi for3.sh

#!/bin/bashfor 
for i in `seq $1`
do    
    let  sum+=$i
done
echo "sum=$sum"

执行:#bash for3.sh 100
sum=5050
  • 5秒倒计时
daojishi.sh
#!/bin/bash
n=5
for i in `seq 5`
do 
echo "倒计时:$n"    
let  n--    
sleep 1
done 
执行:#bash daojishi.sh 
        倒计时:5
        倒计时:4
        倒计时:3
        倒计时:2
        倒计时:1
  • 阶乘算法,10的阶乘结果?

    [[email protected] test]$ vi jiecheng.sh
    #!/bin/bash
    n=10
    tmp=1
    for
    i in `seq $n`
    do
       let tmp=`expr $i \* $tmp`
       echo
    "$tmp"
    done

    执行:[[email protected]
    test]$ bash -i jiecheng.sh

    1
    2
    6
    24
    120
    720
    5040
    40320
    362880

时间: 2024-10-22 17:16:23

Linux进阶之bash编程(流程控制for循环)的相关文章

Linux进阶之bash编程(流程控制-while,break,continue)

在bash编程中,经常会涉及使用while语句,时常处理未知循环次数的情况. while语法 while [ express ] do #command Done 2. 实战练习 提示输入大于10小于20的整数: while1.sh: #!/bin/bash echo -n "please input a digit between 10 and 20:" read n while [ $n -lt 10 ]||[ $n -gt 20 ] do echo -n "please

Linux进阶之bash编程(函数及总结)

1:bash函数的定义格式 [ function ] funname [()] {     action;     [return int;] } 说明: 1:可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2:函数返回值,可以带有return来返回:如果没有,则用函数体最后一行的执行结果,作为返回值.return后跟0-255数值.在调用函数后,通过$?来获得返回值: 3:参数传递,调用函数时,可以往里面传递参数,$n($1,$2...)获取参数值. 2:

Linux进阶之bash编程(流程控制if-else)

一:条件判断 if condition then     statements [elif condition     then statements. ..] [else     statements ] fi 整数比较: -lt,小于-le,小于等于-eq,等于-ge,大于等于-gt,大于-ne,不等于 bash脚本调试:bash -x  test.sh 练习: 1:编写一个bash程序,判断带入的参数大小. 2:提示用户输入一个数字,需要验证是否输入纯数字?并判断是奇数还是偶数! 方法1:

Linux进阶之bash编程四(内置变量)

一:基础回顾 1:文件清空 [[email protected] test]$ >log.txt 2:正常和错误重定向输出 //正常和错误都追加输出到同样地方 [[email protected] test]$ ifconfig &>>log.1 //正常输出重定向[[email protected] test]$ ifconfig >log //错误输出重定向[[email protected] test]$ ifconfig 2>log.23:命令执行控制 //休

bash之流程控制for循环及bash命令退出和退出状态码

一.for循环定义: 将一段代码反复执行:----->进入条件;------> 退出条件; 二.语法格式: for 变量名 in LIST do statement1 ... done for VAR in LIST; do statement1; statement2; ...; done 三.LIST:列表 定义:包含至少一个元素的字符串集合: LIST的生成方法: (1) 直接给出: (2) 数值列表: (a) {start..end},例如:{1..10} (b) seq [start

shell脚本编程——流程控制

shell脚本编程--流程控制 目   录 一. if 二. case 三. for 四. while 五. until 六. 综合应用 一.if 1.语法 (1)单分支 if  判断条件:then fi (2)双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi (3)多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; then 条件为真的分支代码 else 以上条件都为假

linux下的bash编程简要学习

linux下的bash编程简要学习     1.bash是什么: linux运行时系统只会运行系统运行所需要的运行脚本即系统守护进程,一般根据用户自己需求设定和实现的服务需要手动启动,这种服务进程通常由bash启动,脚本中的命令通常被按照一定规则被bash读取视作参数,因此在脚本头部要申明运行的bash类型,bash命令分为内建命令及外部命令,外部命令通过PATH进行依次查找. bash读取命令后将其启动(fork)成为一个进程,依次启动服务     2.bash控制语句:         本地

bash编程基础及for循环

bash编程要点 变量: 本地变量:只对当前shell进程有效,对当前shell之外的其它shell(包括其父.子等)无效: 环境变量:对当shell进程及其子shell进程有效: 局部变量:仅在当前shell进程中的某段代码空间内有效:通常用于函数本地程序: 位置变量:$1, $2, ... $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数- 特殊变量: $# 是传给脚本的参数个数 $0 是脚本本身的名字 [email protected] 是传给脚本的所

Python基础--if流程控制与循环

流程控制之if...else 既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟.人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了.对于逻辑运算,即人根据外部条件的变化而做出不同的反映. ###Python定义了缩进的机制.使用流程控制或循环时需要在执行语句前面缩进4个空格. if...else格式: if 条件: 执行语句 else: 执行语句 例如:判断日期,如果是周日则打游戏,不是周日则上班睡觉. date='Monday