首页 > 代码库 > [Shell]Bash基本功能:多命令顺序执行与管道符

[Shell]Bash基本功能:多命令顺序执行与管道符

/*-----------------------------------------------------------------------------------------------

  @黑眼诗人 <www.chenwei.ws>

-----------------------------------------------------------------------------------------------*/

一. 多命令顺序执行

分号(;)          

逻辑与(&&)  

逻辑或(||

 

分号:

  ls; date; cd /user; pwd

  执行顺序:命令顺序执行,命令之间不存在关系,互不影响

  作用:连接多个命令,简化操作 

 

  例子:

   dd if=输入文件 of=输出文件 bs=字节数 count=个数 (用于复制磁盘)

   (date; dd if=/dev/zero of=/home/testfile bs=1k count=10000; date)#统计执行时间

  选项:

     if=输入文件        指定源文件或源设备

   of=输出设备        指定目标文件或目标设备

   bs=字节数            指定一次输入/输出多少字节,即把这些字节看做一个数据块

   count=个数        指定输入/输出多少个数据块

 

逻辑与:

  ls && echo yes

  执行顺序:只有第一条命令成功执行,才会执行第二条命令

  作用:命令先后存在逻辑关系,必须有一定的执行顺序的情况

 

逻辑或:

  ls || echo no

  执行顺序:第一条成功执行,第二条不执行; 第一条非正确执行,第二条才会执行

  作用:判断前一条命令是否正确执行

 

逻辑与与逻辑或组合使用:

  命令 && echo yes || echo no  # 用这种方式判断命令是否执行

 

二. 管道符:

  命令1 | 命令2   #命令一的结果作为命令二的操作对象

  例子:

    ls -l | more  # 将命令的正确执行结果分屏显示

  

  grep [选项] ‘搜索内容‘ 文件名   #在文件中搜索符合条件的字符串

  选项:

    -i         忽略大小写

    -n        输出行号

    -v        反向查找

    --color=auto   搜索出的关键字用颜色显示

 (查看当前计算机有多少个远程连接)