Linux命令备忘实例(1)——终端输出


终端是用户与shell环境进行交互的窗口,所有命令的交互结果大部分都是从终端直接显示给用户,因此这部分是友好显示结果的基础。

1.命令概览

echo是基本的终端输出命令,直接将传入的参数输入,命令格式如下:

echo [options] toBeOutput

详细说明如下:
这里写图片描述

2.特性与实例说明

1.换行符

默认情况下会在每次调用之后添加一个换行符。使用-n选项可以消除这个默认值。

user@ubuntu:~$ echo test a line
user@ubuntu:~$ test a line
user@ubuntu:~$ echo -n test a line
test a line user@ubuntu:~$

2.引号

echo的参数可以使用双引号、单引号、不加引号,三种方式进行输出。每种方式都有各自的特性:

使用双引号,能解析内部的变量的值,但是内部不能包含“!”,这个符号有特殊意义,可以使用“!”转义,或者在echo之前使用set +H 使用单引号,所有内容以字符形式打印,也就是不会解析内部的变量的值,可以包含“!” 不使用任何引号时,shell中没有定界符,因此无法在文本中使用。虽然可以输出“!”,但是如果内部包含了“;”,则会被shell认为是多个命令,从而出现错误。

user@ubuntu:~$ var=world
user@ubuntu:~$ echo welcome to shell, $var
user@ubuntu:~$ welcome to shell, world
user@ubuntu:~$ echo “welcome to shell, $var”
user@ubuntu:~$ welcome to shell, world
user@ubuntu:~$ echo ‘welcome to shell, $var’
welcome to shell $var

user@ubuntu:~$ echo welcome; hello world
welcome
hello: command not found
user@ubuntu:~$ echo “welcome !hello world.”
bash: !hello: event not found
user@ubuntu:~$ echo “welcome !hello world.”
welcome !hello world.
user@ubuntu:~$ echo ‘welcome !hello world.’
welcome !hello world.
user@ubuntu:~$ echo welcome !hello world.
welcome !hello world.

3.转义

echo的-e选项支持对双引号内的字符串进行转义:

echo -e "包含转义序列的字符串"

转义字符上述详细信息列出了所有的转移字符格式。
使用-E选项可以显式消除转义,将所有字符原样输出。默认选项是不使用转义字符。

user@ubuntu:~$ echo -e “\t”

user@ubuntu:~$ echo “\t”
\t
user@ubuntu:~$ echo -E “\t”
\t

4. 彩色输出

转义序列实现色彩。文本色彩:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37。
背景色:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47。

user@ubuntu:~$ echo -e “\e[1:42m green background \e[0m”

5.扩展

printf也可以用来进行终端输出,使用的参数和格式与C语言中的类似。可以指定格式化字符串,指定字符串宽度、左右对齐方式等。默认情况下不添加换行符。

user@ubuntu:~$ printf “%-5s %-10s %-4.2f\n” Num James 80.324
Num James 80.32

“-”代表向左对齐,默认向右对齐。”4.2“代表占用4个字符宽度,保留两位小数。”s/f/c”等占位符表示类型。

 

相关内容