lanxi256 发表于 2018-8-29 08:59:23

echo知多少(转自:shell十三问)

  承接上一章的command-line,这里我们用echo这个命令加以进一步说明。
  温习标准的command line三个组成部分:command_name option argument
  echo 是一个非常简单、直接的linux命令:
  $echo argument
  echo将argument送出到标准输出(stdout),通常是在监视器(monitor)上输出。
  Note:
  在linux系统中任何一个进程默认打开三个文件:stdin、stdout、stderr.
  stdin标准输入
  stdout标准输出
  stderr标准错误输出
  为了更好理解,不妨先跑下echo命令好了:
  $echo
  $
  你会发现一个空白行,然后又回到了shell prompt上了。这是因为echo没有在预设上,在显示完argument之后,还会送出以一个换行符号(new-line charactor)。但是上面的command echo 并没有任何argument,那结果就剩下一个换行符号,可以利用echo的-n选项:
  $echo -n
  $
  不妨让我们回到command line的概念上来讨论上例的echo命令好了:command line只有command_name(echo)及option(-n),并没有显示任何argument。
  要想看看echo的argument,接下来,可以输入:
$echo first line  
first line$echo -n first line
  
first line $
  以上两个echo命令中,你会发现argument的部分显示在你的屏幕,而换行符则视-n选项的有无而别。很明显的,第二个echo由于换行符被取消了,接下来的shell prompt就接在输出结果的同一行了...
  事实上, echo处理-n选项之外,常用选项有:
  -e:使用反斜杠控制字符串的转换
  -E:关系反斜杠控制符的转换
  -n:取消行末的换行符
  原文链接:https://github.com/ftylove/13_questions_of_shell.git


页: [1]
查看完整版本: echo知多少(转自:shell十三问)