Shell学习(4/6) printf 命令-test 命令

第133章 PCL OrientedBoundingBox 有向包围盒 中文叫有向包围盒,是一种旋转过的包围盒。特点:不像AABB那样固定朝向坐标轴能更紧密地包裹物体适用于复杂姿态的物体,比如倾斜、旋转的物体通常通过PCA、惯性矩等算法确定方向。 阅读详情

七、printf 命令

printf 是一个功能强大的命令,用于格式化输出。它类似于 C 语言中的 printf 函数,允许开发者按照指定的格式打印文本和变量。

语法

printf FORMAT [ARGUMENT]...
  • FORMAT: 一个字符串,指定输出的格式。
  • ARGUMENT: 可选的参数,用于替换 FORMAT 中的占位符。

常用占位符

占位符描述
%s输出字符串
%d输出整数(十进制)
%f输出浮点数
%x输出整数(十六进制,字母小写)
%X输出整数(十六进制,字母大写)
%o输出整数(八进制)
%c输出字符,对应 ASCII 值
%e输出浮点数(科学计数法,小写 e)
%E输出浮点数(科学计数法,大写 E)
%%输出一个 % 符号

重要特性

  1. 格式字符串不需要换行:
    • 默认情况下,printf 不会在末尾自动添加换行符。
    • 如果需要换行,请在格式字符串中显式加入 \n。
  2. 支持字符串格式化:
    • 可以通过占位符和格式说明符控制输出格式,例如宽度、对齐、精度等。
  3. 精度控制:
    • 可以指定输出的宽度和精度,例如 %10.2f 表示宽度为 10,总共保留 2 位小数。

示例

1. 打印简单字符串

printf "Hello, Shell!\n"

输出:

Hello, Shell!

2. 使用占位符

printf "Name: %s, Age: %d\n" "Alice" 30

输出:

Name: Alice, Age: 30

3. 控制输出宽度

printf "|%10s|\n" "Shell"

输出:

|     Shell|

4. 控制浮点数精度

printf "%.2f\n" 3.14159

输出:

3.14

5. 使用多个参数

printf "%s\n" "Line1" "Line2" "Line3"

输出:

Line1
Line2
Line3

6. 打印特殊字符

printf "Tab\tNewline\n"

输出:

Tab    Newline

7. 打印百分号

printf "Progress: 50%%\n"

输出:

Progress: 50%

注意事项

  1. 与 echo 的对比:
    • echo 适合简单输出,但在格式化和控制输出方面不如 printf。
    • printf 的功能更强大,尤其适合需要格式化输出的场景。
  2. 参数过多或过少:
    • 如果格式字符串中占位符的数量多于参数数量,printf 会重复使用参数,或者输出空。
    • 如果参数多于占位符数量,printf 会忽略多余参数。
  3. 不支持动态格式:
    • printf 的格式字符串必须是静态的,不能通过变量动态生成格式。

八、Shell test 命令

test 是 Shell 脚本中用于条件测试的命令,通常用于判断文件属性、字符串比较和数值比较。它可以与 if、while 等语句结合使用,进行条件判断。

基本语法

test EXPRESSION

或

[ EXPRESSION ]

[ 是 test 的另一种形式,注意 [ 后和 ] 前必须有空格。

常见用法

1. 文件测试
  • -e FILE :文件存在。
  • -f FILE:是普通文件。
  • -d FILE:是目录。
  • -r FILE:文件可读。
  • -w FILE:文件可写。
  • -x FILE:文件可执行。
  • -s FILE:文件大小大于 0。
  • -L FILE:是符号链接。

示例:

if [ -f /mnt/e/Android-NDK-C/sh/test.txt ]; then
    echo "文件存在且是普通文件"
fi

2. 字符串测试
  • -z STRING :字符串长度为 0。
  • -n STRING:字符串长度不为 0。
  • STRING1 = STRING2:字符串相等。
  • STRING1 != STRING2:字符串不等。

示例:

if [ -z "$var" ]; then
    echo "变量为空"
fi

var="XAYE"
if [ -n "$var" ]; then
    echo "变量不为空"
fi

3. 数值比较
  • INT1 -eq INT2:等于。
  • INT1 -ne INT2:不等于。
  • INT1 -gt INT2:大于。
  • INT1 -ge INT2:大于等于。
  • INT1 -lt INT2:小于。
  • INT1 -le INT2:小于等于。

示例:

a=110
b=100
if [ "$a" -gt "$b" ]; then
    echo "a 大于 b"
fi

4. 逻辑操作
  • ! EXPRESSION:逻辑非。
  • EXPRESSION1 -a EXPRESSION2:逻辑与。
  • EXPRESSION1 -o EXPRESSION2:逻辑或。

其优先级为: ! 最高, -a 次之, -o 最低。

a 就是 and 类似于 Java 的 &&,o 就是 or 类似于 Java 的 ||

示例:

a=8
if [ "$a" -gt 0 -a "$a" -lt 10 ]; then
    echo "a 在 0 到 10 之间"
fi
a=8
if [[ "$a" -gt 0 && "$a" -lt 10 ]]; then
     echo "a 在 0 到 10 之间"
fi

注意事项

  • 空格:[ 后和 ] 前必须有空格。
  • 引号:变量引用时建议加双引号,避免空值或空格问题。
  • 逻辑操作:-a 和 -o 在 [ ] 中使用,&& 和 || 在 [[ ]] 中使用。

总结

test 命令是 Shell 脚本中用于条件判断的重要工具,掌握其用法有助于编写更复杂的脚本。

基于Simulink的伺服电机位置闭环控制仿真 本文带你从零构建了伺服电机位置闭环控制系统​ 的完整Simulink仿真模型,实现了:✅ 搭建PMSM伺服电机、逆变器、机械臂负载的主电路与编码器反馈模型;✅ 用MATLAB Function实现三环控制(位置环PID、坐标变换、电流环PI);✅ 验证阶跃定位(稳态误差0.002°、响应0.08s)与正弦跟踪(误差0.008°)的高性能;✅ 对比开环控制,明确位置闭环在精度、响应、抗扰上的优势;✅ 理解“三环嵌套+反馈校正”的核心思想(精密定位的工程实现)。核心收获。 阅读详情

相关推荐

无符号整数、带符号整数溢出问题

让我们详细讲解一下带符号整数溢出和无符号整数溢出问题中,符号标志位 (SF)、零标志位 (ZF) 和进位标志位 (CF) 的行为方式

weixin_49342084的博客 2087

shell之输出换行

shell输出控制换行

happytree001的博客 9724

DDR5内存Training全解析:从信号完整性到CS训练模式的实战指南

本文深入解析了DDR5内存Training的全过程,从信号完整性挑战到CS训练模式(CSTM)的实战应用。文章详细阐述了Training在DDR5高频时代的关键作用,对比了In-Band与OOB两种架构,并拆解了Intel MRC的核心训练步骤,为硬件与固件工程师提供了诊断与优化系统稳定性的实用指南。

weixin_29252171的博客 1029

shelll中test命令的使用【转】

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 数值测试 参数说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真 例如: 复制代码 代码如下: num1=...

weixin_30492601的博客 491

RseQC实战指南:从安装到RNA-Seq数据质控全流程解析

本文提供了一份详尽的RseQC实战指南,涵盖从安装配置到RNA-Seq数据质控的全流程。文章重点解析了RseQC作为专业质控工具的核心价值,手把手指导如何通过Conda或pip完成安装,并深入讲解了bam_stat.py、geneBody_coverage.py等关键模块的使用方法与结果解读技巧,帮助用户有效评估RNA完整性、文库构建质量及链特异性,确保下游分析的可靠性。

weixin_29200741的博客 201

封神台靶场,为了小芳,冲之——cookie注入

第二个靶场 打开网站 找一下注入点 一般在新闻这种里面点开看看 先判断是否存在注入 有waf 尝试了很多方法绕过都没成功,/and/,aandnd,AnD等一系列都没绕过去,乌鸡鲅鱼 删掉id=169 发现 然后判断cookie注入 在搜索框输入 Javascript:alert(document.cookie=”id=”+escape(‘169’)); 然后弹窗了(其中 “id=” 取决URL中的id= escape中的数值也是URL中id=的值)返回刚刚的页面,把ID删除后一样能正常显示。说明服务器能

Wubuqing的博客 653

shell语法----printf命令

printf命令用于格式化输出,类似于C/C++中的printf函数。 默认不会在字符串末尾添加换行符。 命令格式: printf format -string [arguements...] 用法示例 脚本内容: printf "%10d.\n" 123 #占10位,右对齐 printf "%-10.2f.\n" 123.123321 #占10位,保留2位小数,左对齐 printf "My name is %s\n" "Arthur" # 格式化输出字符串 printf "%

ChaseAug的博客 1344

NVIDIA Cosmos:生成式物理世界模型 从入门到精通1

Prompt Upsampler模型通过微调T5-XXL实现低质量描述到专业级描述的自动扩展,将"一个机器人在仓库"转换为"一台橙色的Kiva自主移动机器人在现代化电商仓库的过道中行驶,头顶的LED阵列投射出冷白色光线,地面反射出机器人的轮廓,摄像机以1.5米高度跟随拍摄,轻微晃动模拟手持效果"。控制输入(深度图、语义分割等)经独立的卷积编码器处理后注入控制分支,提取的多尺度特征通过零卷积层(zero convolution)逐步释放至主网络,避免初始训练阶段的噪声干扰。视频条件通过时序掩码控制扩散范围。

VectorShift的博客 137

【脚本语言】Shell Script - 终端打印指令

终端是交互式工具,在终端中打印文本是绝大多数脚本中的基本任务。 本文共计1559字,预计阅读时间6分钟

Tsang的博客 3037

FPGA打砖块游戏设计(有上板照片)VHDL

这是一款经典打砖块游戏,我们的努力让它更精致更好玩,我们将它取名为打砖块游戏(Flyball),以下是该系统的一些基本功能: 画面简约而经典,色彩绚丽而活泼,动画流畅 玩家顺序挑战3个不同难度的级别,趣味十足 计分功能,卡通字母数字 4条生命值,由生命条显示 游戏结束画面,缓缓浮起与缤纷刷色的特效 四键操作,可复位,可暂停,高灵敏 96块砖拼出可爱的“囧”字,方便更改 碰挡板非镜面反射 初始启动,随机的发射速度。

QQ_778132974的博客 1660

使用 MATLAB/Simulink 构建一个 光伏-储能联合系统接入10kV配电网 的协同控制仿真模型

本教程详细介绍了基于Simulink的光伏-储能联合系统在配电网中的协同控制仿真方法。主要内容包括:系统结构设计(光伏阵列、储能电池、双向变流器等);建模流程(MPPT控制、BMS系统、PCS矢量控制);核心协同控制策略(功率平滑、削峰填谷、电压支撑的三层控制架构);仿真结果分析方法及性能评估指标。教程提供了从组件建模到系统集成的完整指导,并建议了模型预测控制、微网孤岛运行等进阶方向,帮助开发者掌握智能电网的关键仿真技术。通过该模型可实现可再生能源的高效利用与电网稳定运行的平衡。

amy_mhd的博客 217

Shell 格式化输出printf、awk

文章目录Shell 文件的格式化与相关处理 printf、awk格式化打印printf选项与参数说明格式修饰符案例.格式化输出文件内容输出命令echo案例awk数据处理工具处理流程AWK内置变量关系表达式字段和记录分隔符变量案例1:改变输出间隔符案例2.FIELDWIDTHS的使用自定义变量数组匹配操作符~结构化命令next 跳过当前行if条件判断式循环内置函数 Shell 文件的格式化与相关处理 printf、awk 格式化打印printf 使用场景:将数据格式化输出 语法:printf ‘打印格式’ 实

好好学习天天向上 4655

Vulkan入门系列3 - 绘制三角形代码解析(全)

【代码】Vulkan入门系列3 - 绘制三角形完整代码(带详细注释)

GPU全栈博主 1033

Shell编程四大基础命令详解:echo/read/printf/test

命令主要用途推荐场景echo快速输出简单文本日志、调试、简单提示read读取用户输入交互式脚本printf精确控制输出格式表格、对齐、多语言兼容test条件判断(文件/字符串/数值)if 判断、流程控制。

2203_75492008的博客 962

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux系统学习03——shell编程的用法:echo命令、read命令符、printf命令、test命令。

Linux系统学习03——shell编程的用法:echo命令、read命令符、printf命令、test命令。日记,1月27日,星期二,聊天聊到了不得了的内容。

qq_74437448的博客 883

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Shell echo、printf、test命令

表达式1 -o 表达式2:逻辑或,当两个表达式中至少有一个为真时返回真。表达式1 -a 表达式2:逻辑与,当两个表达式都为真时返回真。整数1 -le 整数2:检查整数1是否小于或等于整数2。整数1 -ge 整数2:检查整数1是否大于或等于整数2。整数1 -lt 整数2:检查整数1是否小于整数2。整数1 -gt 整数2:检查整数1是否大于整数2。字符串1 = 字符串2:检查两个字符串是否相等。整数1 -ne 整数2:检查两个整数是否不相等。整数1 -eq 整数2:检查两个整数是否相等。

云域A的博客 1425

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Shell编程从看懂到看开③(函数、echo、printf、test)

本文涉及Shell函数,Shell中的echo、printf、test命令等。

十八岁讨厌编程的博客 1225

Shell命令【echo、printf、test】

shell echo 命令 Shell的echo指令与PHP的echo指令类似,都是用于字符串的输出。 案例演示 #!/bin/bash echo "hello world !" 案例演示的是输出字符串 显示转义字符串 #!/bin/bash echo "\"hello world ! \"" 显示变量 read命令从标准输入中读取一行,并把输入行的每个字段的值指定给shell变量 #!/bin/bash read name echo "$name It is a demo" 结果为: [root@b

lyq7269的博客 377

3、【Shell 编程】echo、printf、test命令

一、echo命令 用于字符串输出。 1、输出普通字符串 echo string 示例: echo “It is a test" 这里的双引号是可以省略的 echo It is a test 2、用于输出转移字符 echo “\”It is a test”” 输出结果为:“It is a test” 3、显示变量 read命令从标准输入中读取一行,并把输入行的每隔字段的值指定给shell变量 #!/...

阿牧路泽 418

Shell学习03--echo命令,printf命令,test命令

Shell的命令1.Shell--echo命令2.Shell--printf命令3.Shell--test命令 1.Shell–echo命令 语法: echo [-option] 字符串(String) 显示普通字符串 例子: echo "This is Bunny's test" echo This is Bunny's test 双引号可以省略,实现效果与上方一致 echo的参数: -n 不要在最后换行 -e 显示转义字符 -E不显示转义字符(默认) \a 发出警告声; \b 删除前一个字符; \

weixin_44826986的博客 577

printf与test测试命令-shell脚本学习笔记5

目录 printf 输出命令 test 测试命令 printf 输出命令 同样是输出的命令。只是默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n。 此处感觉只需要了解下就可以了,不懂再查。 printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n。 printf 命令的语法: printf format-string [argu...

wangwangstone的博客 1121

【Shell学习笔记】5.Shell echo命令、printf 命令及test 命令

本章介绍Shell的echo命令、printf 命令及test 命令。

qq_62052372的博客 420

假如 Shell 基础语法是一门武功,这 4 招必练!——echo命令、printf命令、read命令、 test命令

记住,Shell 脚本的魅力不在于复杂的语法,而在于用简单的命令组合解决实际问题。%-10s 指一个宽度为 10 个字符(- 表示左对齐,没有则表示右对齐),任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。从最基础的字符串输出,到交互式输入控制,再到格式化打印和条件测试,这些命令是你写好 Shell 脚本的基石。%s %c %d %f 都是格式替代符,%s 输出一个字符串,%d 整型输出,%c 输出一个字符,%f 输出实数,以小数形式输出。

纤纡.的博客 762

【Shell 命令与脚本编程实战指南】掌握基础命令:echo、printf、read、test 、函数定义与Shell输入/输出重定向

shell中函数的定义格式如下:实例1:定义了一个函数并进行调用/bin/bashfunc(){func实例2:定义一个带有return语句的函数/bin/bashfuncecho $?运行结果:函数返回值在调用该函数后通过 $?来获得。函数参数 在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。

m0_74373135的博客 663

Linux-基础了解-04-printf 命令/test 命令/流程控制/Shell 函数/输入/输出重定向/文件包含

printf 命令/test 命令/流程控制/Shell 函数/输入/输出重定向/文件包含

Xiaowu2048的博客 1304

Linux之shell编程篇-----Shell打印输出命令和Shell test 命令

Shell打印输出命令 1. echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:echo string 您可以使用echo实现更复杂的输出格式控制。 1.1 显示普通字符串 echo "It is a test" 这里的双引号完全可以省略,以下命令与上面实例效果一致: echo It is a test 1.2 显示转义字符 echo "\"It is a test\"" #结果将是: #"It is a test" 1.3 显示变量

zpeien 1万+
上一篇: Shell学习(3/6) 运算符-echo命令
下一篇: Shell学习(5/6) 流程控制-函数
_蓝橙
博客等级 码龄7年 1179粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值