redir4.sh

来自「BASH Shell 编程 经典教程 《高级SHELL脚本编程》中文版」· Shell 代码 · 共 33 行

SH
33
字号
#!/bin/bashif [ -z "$1" ]then  Filename=names.data          # 如果没有指定文件名就使用默认值. else  Filename=$1fi  line_count=`wc $Filename | awk '{ print $1 }'`#           目标文件的行数. ##  此处的代码太过做作, 并且写得很难看, #+ 但至少展示了"for"循环的stdin可以重定向...#+ 当然, 你得足够聪明, 才能看得出来. ## 更简洁的写法是     line_count=$(wc -l < "$Filename")for name in `seq $line_count`  # "seq"打印出数字序列. # while [ "$name" != Smith ]   --   比"while"循环更复杂   --do  read name                    # 从$Filename中, 而非从stdin中读取.   echo $name  if [ "$name" = Smith ]       # 因为用for循环, 所以需要这个多余测试.   then    break  fi  done <"$Filename"              # 重定向stdin到文件$Filename. #    ^^^^^^^^^^^^exit 0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?