注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

Linux Bash 常用命令-重定向(redirect)、管道(pipe)、命令替换(command substitution)  

来自AdamWang   2014-12-26 13:49:49|  分类: Linux相关 |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Basic knowledge of the shell of Linux:

Once user invoke one shell command (e.g: cat), there are three standard file opened:

stdin(0), stdout(1), stderr(2). 

stdin --- Keyboard, 

stdout and stderr--- Screen. 

 

In Linux, there are some powerful /interesting command to handle three standard file and files as belowing:

1)   Redirect ( <, >, >>)


【Scenarios】

<1> when the printout of the command is over the screen. You may use Redirect function to save the printout to one file or printer.

<2> I want to use one file as the stdin for one command(cat, wc) but not keyboard.

<3> put the ‘here’ document(from stdin) to one command

【Examples】

<1>  ls –l /etc/ > /home/ls_temp    or    ls –l /etc/ >> /home/ls_temp   

<2>  cat /etc/passwd  or  cat < /etc/passwd 

<3>  cat > $summarize <<ENDOFCONFIG

$dateString

##############configurations#############

MAILTO=$MAILTO

ANVL_BIN=$ANVL_BIN

SENDIP_BIN=$SENDIP_BIN

DUT_HOSTNAME=$DUT_HOSTNAME

DUTROOT=$DUTROOT

PPCI_INTERFACE=$PPCI_INTERFACE

ETH=$ETH

PRODUCT=$PRODUCT

SDKROOT=$SDKROOT

$firmware

BUILD_DATE=$build_date

BOARD_CONFIG=$board_config

########################################

 

ENDOFCONFIG

2)   Pipe ( | )

【Scenarios】

<1>user want use the outputs of one command as the inputs of stdin of another command;  The command of second/third should support stdin.

 

【Examples】

   <1> ls /usr/bin | wc –w

   echo $line | awk '{print $2}'

   echo “status” | $SDKROOT/bin/ftd | grep Runtime

3)   Command Replacement

The Command Replacement is different with Pipe.

Pipe use the printout of first command as stdin for second command,

while Command Replacement use the printout of first command as one parameter(not stdin) for second comand

        【Scenarios】

        <1> the second command want to use the first command’s printout as one parameter.

        

【Examples】

<1> command1 `command2`

     cd `pwd`

     board_config=`printf "0x%x\n" "$board_config"`

 

     firmware=`cat temp | grep "Runtime Firmware"`

  评论这张
 
阅读(2171)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016