在terminal中打印

    terminal是一个交互式工具,通过它,用户就可以和 shell 环境交互。

    echo 用于在 terminal 中打印。默认会在每一次 echo 调用后面另起一个新行。echo 后跟的信息可以不带引号、带双引号、带单引号。双引号中不能有感叹号,但单引号中可以有感叹号。或者把引号去掉,有或者用转义符号 \。

    当使用 echo 不带引号时,就不能用到逗号,因为逗号是命令间的分隔符。echo hello; hello就是2条命令。变量置换在单引号中就不行。

    printf 也可用于在 terminal 中打印。printf 接受引号括起来的文本或参数,中间用空格隔开。该命令还可以使用格式化字符串。默认它不会产生新行。

#!/bin/bash 

#Filename: printf.sh

printf  "%-5s %-10s %-4s\n" No Name  Mark 

printf  "%-5s %-10s %-4.2f\n" 1 Sarath 80.3456 

printf  "%-5s %-10s %-4.2f\n" 2 James 90.9989 

printf  "%-5s %-10s %-4.2f\n" 3 Jeff 77.564

------------------------------执行结果------------------------------------------------

No    Name       Mark

1     Sarath     80.35

2     James      91.00

3     Jeff       77.56

    %s, %c, %d, and %f 是格式置换字符。%-5s 中的 - 表示左对齐,5是宽度,如果没有指定 - ,则字符串就是右对齐,指定的宽度不足的话用空格补全。

    要记住将 flags 放在命令中的字符串前面。

    echo 输出的最后会有一新行,不想这样的话,可以带个 -n 标识。当使用转义序列时,用 echo -e,例如:echo -e "1\t2\t3"

    打印带颜色的输出是利用转义序列来实现的。颜色由颜色代码来表示。例如reset=0,black=30,red=31,green = 32, yellow = 33, blue = 34, magenta = 35, cyan = 36, white = 37。

echo -e "\e[1;31m This is red text \e[0m" 中的\e[1;31m是一个转义字符串,用于将颜色设置为红色,

\e[0m 将颜色还原成原样。

    常用的背景颜色代码有:reset = 0, black = 40, red = 41, green = 42, yellow = 43, blue = 44, 

magenta = 45, cyan = 46, and white=47。例如:

echo -e "\e[1;42m Green Background \e[0m"

猜你喜欢

转载自zsjg13.iteye.com/blog/2236651