千家信息网

Shell学习【printf与echo】

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Shell printf命令echo命令主要用于字符串的输出,可以是不要引号但不支持转义,双引号可用于转义字符,printf命令也是输出命令但是要比echo 的移植性好,制定字符串的宽度,左右对其方式
千家信息网最后更新 2026年11月03日Shell学习【printf与echo】

Shell printf命令


echo命令主要用于字符串的输出,可以是不要引号但不支持转义,双引号可用于转义字符,


printf命令也是输出命令但是要比echo 的移植性好,制定字符串的宽度,左右对其方式;可以格式控制字符,指定参数列表,参数空格区分,语法结构:

printf  format-string  [arguments...]


#!/bin/bash#author:zrc#自动换行的对比echo  -e "OK! \n" # -e 开启转义 \n 开启换行echo "is a echo"echo "----------------------------"printf "good , shell,\n,python"#输出:OK! is a echo----------------------------good , shell,,python


printf格式化

#!/bin/bash#author:zrcprintf "%-10s %-8s %-4s\n" id name ageprintf "%-10s %-8s %-4s\n" 1 jeey 18printf "%-10s %-8s %-4.2f\n" 2 tom 19printf "%-10s %-8s %-4.2f\n" 3 king 20printf "%-10s %-8s %-4.2f\n" 4 quren 33.333#输出id         name     age 1          jeey     18  2          tom      19.003          king     20.004          quren    33.33
%-10s %-8s %-4s\n 都是针对参数类别的格式化%-10s  -- 第一位参数必须是string字符串(-10 表示宽度为10个字符且左对齐,没有-表示右对齐;如果不是字符和字符串 就报错 )%-8s   -- 第二位参数必须是string字符串(-8 表示宽度为8个字符且左对齐,没有-表示右对齐;如果不是字符和字符串 就报错 )%-4s   -- 第三位参数必须是string字符串(-4 表示宽度为4个字符且左对齐,没有-表示右对齐;如果不是字符和字符串 就报错 )%-4.2f -- 第三位参数必须是float浮点(-4.2 表示宽度为4个格式化小数,保留后面两位,没有-表示右对齐;如果不是整数 就报错 )


printf案例

更多案例:

#!/bin/bash#author:zrc#没有引号printf %s'\n' aaaaa #单引号printf '%d %s\n' '123456' 'aaaaa'#双引号printf "%d %s\n" '123456' 'bbbbb'#超过指定参format-string数,会被重用printf "%d %s\n" '123456' 'aaaaa' '456789' 'ccccc'#如果没有参数,那么%s用NULL代替,%d用0代替printf "%s --- %d"'\n'#%c 自动截取字符串的第一个字符作为结果输出printf "%d %c\n" '123456' 'bbbbb'
%d %s %c %f  都是针对参数类别的格式化%d     -- 十进制整数(对应参数位必须是整数,如果不是就报错 )%c     --Char字符(对应参数位必须是字符串或者字符型,如果不是就报错 )


prinf转义符

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


Shell echo命令

#!/bin/bash#author:zrc#显示字符串echo "this is string"#显示转义字符echo "\"this is string\""#显示结果定向到文件,符号>>追加到文件echo "this is string" > file#显示输入变量read name echo  -e "this is ${name} \n"  # -e开启转义 -n换行echo  -e "this is ${name} \c"  # -e开启转义 -c不换行read  password -p "请输入一段文字:" -n 6 -t 5 -secho -e "\n password is $password"参数说明: -p 输入提示文字 -n 输入字符长度限制(达到6位,自动结束) -t 输入限时 -s 隐藏输入内容


字符 参数 字符串 格式 转义 输入 输出 命令 宽度 引号 整数 结果 制表符 文件 文字 案例 类别 制表 控制 字符型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 中智农互联网科技 百单网互联网科技有限公司 上海喔噻互联网科技有限公司 互联网科技网 科技互联网项目 互联网品科技 互联网最新的科技有限公司 科技与互联网发展 智慧科技互联网 互联网巨头投资的硬核科技 互联网和高科技公司 湖北码尼互联网科技有限公司电话 荆州市昕露互联网络科技有限公司 青岛科技大学互联网大赛研究生 如何创新互联网科技 山东星卡互联网科技有限公司官网 江苏苏星互联网科技有限公司 互联网科技年终奖 互联网科技包装股份有限公司上市 互联网科技图片 互联网中国科技 互联网金融科技平台 深圳艾佳互联网科技 江苏南京365互联网科技 北京大学互联网科技怎么样 荆州市昕露互联网络科技有限公司 厦门千工互联网科技有限公司 广州梦谷互联网科技有限公司领导 云南互联网科技学费
0