printf命令
printf命令用于格式化输出,类似于C/C++中的printf函数。
默认不会在字符串末尾添加换行符。
命令格式:
printf format-string [arguments...]
用法示例
脚本内容:
printf "%10d.\n" 123 # 占10位,右对齐
printf "%-10.2f.\n" 123.123321 # 占10位,保留2位小数,左对齐
printf "My name is %s\n" "yxc" # 格式化输出字符串
printf "%d * %d = %d\n" 2 3 `expr 2 \* 3` # 表达式的值作为参数
输出结果:
123.
123.12 .
My name is yxc
2 * 3 = 6
常用格式符
| 格式符 | 说明 |
|---|---|
| %s | 字符串 |
| %d | 十进制整数(%i 等价) |
| %f | 浮点数,可用 %.2f 控制小数位数 |
| %c | 单个字符 |
| %x / %o | 十六进制 / 八进制整数 |
| %e | 科学计数法 |
| %% | 输出一个字面量的 % |
宽度与对齐写在 % 与格式符之间:%10s 占 10 位右对齐,%-10s 左对齐,%.3s 截取前 3 个字符。格式符数量多于参数时,缺少的参数以 0(%d)或空串(%s)填充;参数多于格式符时,format-string 会被重复使用直到参数耗尽,例如 printf "%s\n" a b c 会逐行输出 a、b、c。
项目分区导航:echo命令 ⬅️ | 14-printf命令 | ➡️ test命令与判断符号
💬 评论