--- title: "14-printf命令" created: 2025-11-25 tags: - 项目 aliases: - printf命令 --- # printf命令 printf命令用于格式化输出,类似于C/C++中的printf函数。 默认不会在字符串末尾添加换行符。 命令格式: ```bash printf format-string [arguments...] ``` 用法示例 脚本内容: ```bash 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` # 表达式的值作为参数 ``` 输出结果: ```text 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。 --- **项目分区导航**:[[13-echo命令|echo命令]] ⬅️ | 14-printf命令 | ➡️ [[15-test命令与判断符号|test命令与判断符号]]