zoukankan      html  css  js  c++  java
  • 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



  • 相关阅读:
    @RequestParam方式传入list
    编写优美代码的七条规范(Python版)
    汇编程序设计入门
    CSP-S2020解题报告(待完成!)
    [USACO18JAN]MooTube
    DP优化
    AFO记
    考前总结
    清北学堂周末刷题班第五场
    清北学堂考前综合刷题班第四场
  • 原文地址:https://www.cnblogs.com/ting152/p/12554468.html
Copyright © 2011-2022 走看看