承接上一章的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