本文仅仅是个人学习笔记的记录!
目录
shell echo命令
用于字符串的输出
(1)显示普通字符串
(2)显示转义字符串
(3)显示变量
(4)显示换行
(5)显示不换行
(6)显示结果定向到文件
(7)原样输出字符串
(8)显示命令执行结果
Shell printf 命令
printf 命令模仿 C 程序的 printf() 程序。使用 printf 的脚本比使用 echo 移植性好。
printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf 不会像 echo 自动添加换行符,可以手动添加 \n。
语法:printf format-string [arguments...]
注:
(1)格式替代符:%s 输出一个字符串;%d 整型输出;%c 输出一个字符;%f 输出实数,以小数形式输出;
(2)%-10s 指一个宽度为 10 个字符;
(3)- 表示左对齐,没有-则是右对齐;
(4)%-10s输出字符串,长度为10,左对齐,任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来;
(5)%-4.2f 指格式化为小数;
(6).2 指保留2位小数;
(7)%-8s输出字符串,长度为8,左对齐。
#!/bin/bash
# 双引号
printf "%d %s\n" "111" "abcd"
# 单引号与双引号效果一样
printf '%d %s\n' "222" "abcd"
# 没有引号也可以输出
printf %s abcdef
printf "\n"
# 格式只指定一个参数,多出的参数仍然会按照该格式输出,重用
printf %s abc def
printf "\n"
printf "%s\n" abc def
printf "%s %s %s\n" a b c d e f g h i j
# 如果没有 arguments,%d 用 0 代替
printf "%d \n"
注意看区别:
printf的转义序列
序列 | 说明 |
---|---|
\a | 警告字符 |
\b | 后退 |
\c | 抑制输出结果中任何结尾的换行字符, 任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略 |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\\ | 一个字面上的反斜杠字符 |
\ddd | 表示1到3位数八进制值的字符,仅在格式字符串中有效 |
\0ddd | 表示1到3位的八进制值字符 |