千家信息网

Shell学习【printf与echo】

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Shell printf命令echo命令主要用于字符串的输出,可以是不要引号但不支持转义,双引号可用于转义字符,printf命令也是输出命令但是要比echo 的移植性好,制定字符串的宽度,左右对其方式
千家信息网最后更新 2025年02月01日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安全错误 数据库的锁怎样保障安全 计算机软件开发税金筹划 宿州直播平台软件开发哪家好 vposy互联网科技博主 ibm7915服务器阵列 靠谱的生产管理软件开发商 服务器运维安全 软件开发基础教学视频高清 网络安全性几年进行一次检测 信用数据库制度 java绑定数据库的数据 nginx并发请求数据库访问 平谷旧服务器回收价钱 大话21天转两个服务器费用 学术文献数据库什么时候用 小学三年级下册网络安全教育 唐山世博互联网科技中心电话 企业域名可以使用个人服务器么 hadoop数据库开发 服务器的服务的启用记录 数据库备份一张表单条数据 杭州智能软件开发定做价格 安徽医院软件开发公司哪家好 魔兽世界奥尔加隆服务器 服务器限制通信频率 华为阿里巴巴数据库 什么是数据库设计的关键阶段 车间网络技术要求 杭州软件开发驻场价格表 网络安全测评常见问题 高校网络安全教育宣传周
0