• 19 shell代码块重定向


    代码块是由多条语句组成的一个整体,for、while、until循环或者if…else、case…in选择结构,或者由{ }包围起来的命令都可以称为代码块。

    将重定向命令放在代码块的结尾处,就可以对代码块中的所有命令实施重定向。

    举栗

    举栗 
    结果 

    使用 while 循环不断读取 nums.txt 中的数字,计算它们的总和。

    1. #!/bin/bash
    2. sum=0
    3. while read ndo
    4. ((sum += n))
    5. done <nums.txt #输入重定向
    6. echo "sum=$sum"

    将代码保存到 test.sh 并运行:

    cat nums.txt

    80 33 129 71 100 222 8

    . ./test.sh

    sum=643

    记录 while 的读取过程,并将输出结果重定向到 log.txt 文件:

    1. #!/bin/bash
    2. sum=0
    3. while read ndo
    4. ((sum += n))
    5. echo "this number: $n"
    6. done <nums.txt >log.txt #同时使用输入输出重定向
    7. echo "sum=$sum"

    . ./test.sh sum=643

    cat log.txt

    this number: 80

    this number: 33

    this number: 129

    this number: 71

    this number: 100

    this number: 222

    this number: 8

    {}包围的代码使用重定向。

    1. #!/bin/bash
    2. {
    3. echo "aa";
    4. echo "bb";
    5. echo "cc"
    6. >log.txt #输出重定向
    7. {
    8. read name;
    9. read url;
    10. read age
    11. <log.txt #输入重定向
    12. echo "$name已经$age岁了,它的网址是 $url"

    . ./test.sh aa已经bb岁了,它的网址是cc cat log.txt aa

    bb

    cc

  • 相关阅读:
    防止表单重复提交
    tp5中的配置机制
    PHP remove,empty和detach区别
    jquery data方法
    webstrom使用记录
    input checkbox问题和li里面包含checkbox
    【转】HTML中A标签与click事件的前世今生
    jquery toggle方法
    webstore+nodejs
    web storm使用和配置
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/12069753.html
Copyright © 2020-2023  润新知