跟我一起学shell-第五篇 echo与printf

1.echo 标准的字符串输出

1
echo my name is zlkb
1
echo "my name is zlkb"

以上2句效果一样.

输出变量

1
2
name="zlkb"
echo "my name is $name"
1
2
name="zlkb"
echo "my name is ${name}"

以上2句效果一样.

echo输出的字符串总结
===================================================================
能否引用变量 | 能否引用转移符 | 能否引用文本格式符(如:换行符、制表符)
单引号 | 否 | 否 | 否
双引号 | 能 | 能 | 能
无引号 | 能 | 能 | 否
===================================================================

2.printf 命令模仿 C 程序库(library)里的 printf() 程序,printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。

printf的转义序列
序列 说明
\a 警告字符,通常为ASCII的BEL字符
\b 后退
\c 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
\f 换页(formfeed)
\n 换行
\r 回车(Carriage return)
\t 水平制表符
\v 垂直制表符
\\ 一个字面上的反斜杠字符
\ddd 表示1到3位数八进制值的字符。仅在格式字符串中有效
\0ddd 表示1到3位的八进制值字符