zoukankan      html  css  js  c++  java
  • Linux Shell编程(26)——代码块重定向

    像 while, until, 和 for 循环代码块, 甚至 if/then 测试结构的代码块都能做到标准输入的重定向. 即使函数也可以使用这种重定向的格式 。所有的这些依靠代码块结尾的 < 操作符来做到.


    例子:while 循环的重定向

    #!/bin/bash
    # redir2.sh
    
    
    if [ -z "$1" ]
    then
      Filename=names.data       # 如果没有指定文件名,则指定这个默认值.
    else
      Filename=$1
    fi  
    #+ Filename=${1:-names.data}
    #  这句可代替上面的测试 (参数替换).
    
    
    count=0
    
    
    echo
    
    
    while [ "$name" != Smith ]  # 为什么变量 $name 要用引号?
    do
      read name                 # 从$Filename文件中读而非在标准输入中读.
      echo $name
      let "count += 1"
    done <"$Filename"           # 重定向标准输入到文件$Filename. 
    #    ^^^^^^^^^^^^
    
    
    echo; echo "$count names read"; echo
    
    
    exit 0
    
    
    #  注意在老一些的shell脚本编程语言里,
    #  因此, $count 值返回后会是 0, 此值是在循环开始前的值.
    #  Bash 和 ksh 只要可能就避免启用子shell,
    
    
    
    
    abc=hi
    echo -e "1
    2
    3" | while read l
         do abc="$l"
            echo $abc
         done
    echo $abc


  • 相关阅读:
    自我介绍
    最大连通子数组求和
    敏捷开发方法综述
    第四周学习进度条
    时间日志和缺陷日志
    最大子数组2.0
    最大子数组1.0
    第三周学习进度条
    小学四则运算3.0
    单元测试
  • 原文地址:https://www.cnblogs.com/new0801/p/6176854.html
Copyright © 2011-2022 走看看