bash|每天实践bash

写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数

#!bin/bash line=0 while read p do ((line++)) done < ./nowcoder.txt echo $line

  • 变量赋值等于号左右无空格;
  • while read line do done < file 重定向,把file文件循环每一行赋值给line循环中可以对line进行操作;(read通过输入重定向,把file的第一行所有的内容赋值给变量line,循环体内的命令一般包含对变量line的处理;然后循环处理file的第二行、第三行。。。一直到file的最后一行。
    还记得while根据其后的命令退出状态来判断是否执行循环体吗?
    是的,read命令也有退出状态,当它从文件file中读到内容时,退出状态为0,循环继续进行;
    当read从文件中读完最后一行后,下次便没有内容可读了,此时read的退出状态为非0,所以循环才会退出。)
  • 双小括号。参考 整数扩展。这种扩展计算是整数型的计算,不支持浮点型。((exp))结构扩展并计算一个算术表达式的值,如果表达式的结果为0,那么返回的退出状态码为0,或者 是"假",而一个非零值的表达式所返回的退出状态码将为1,或者是"true"。若是逻辑判断,表达式exp为真则为1,假则为0。
  • echo想输出变量值必须加$,否则输出字符串;
【bash|每天实践bash】================================2022.03.26

    推荐阅读