首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
面包板社区
> >
标签
> >
linux编程
标签: linux编程
相关博文
【Shell编程】| if 判断的五个关键点
热度
2
_嵌入式艺术_
2023-5-4 23:26
1504 次阅读
|
0
个评论
【Shell编程】| if 判断的五个关键点 我们在 Shell 脚本中,最常用的流程控制就是 if 比较语句了,当然你也许觉得它太小儿科,但是你真的了解透彻了吗? 最近在编写一些测试程序的时候,对 if 的使用较为片面,很多小的功能都需要去各个地方百度查询,极为不便,因此也想着空闲时候,对 if 进行详细总结,一来加深印象,二来是为了打造一个 if 语句的最详细的使用指南。 1、if语法格式 1.1 if格式 if condition; then commands; fi 1.2 else if 和 else if condition; then commands; else if condition; then commands; else commands; fi if 语法部分不用多少,主要在于用法多样! 2、算数比较 算数比较包括 大于、小于、等于、不等于、大于等于、小于等于 运算符 说明 举例 -eq equal,检测两个数是否相等,相等返回 true。 返回 false。 -ne not equal,检测两个数是否不相等,不相等返回 true。 返回 true。 -gt greater than,检测左边的数是否大于右边的,如果是,则返回 true。 返回 false。 -lt less than,检测左边的数是否小于右边的,如果是,则返回 true。 返回 true。 -ge greater equal,检测左边的数是否大于等于右边的,如果是,则返回 true。 返回 false。 -le less equal,检测左边的数是否小于等于右边的,如果是,则返回 true。 返回 true。 比较条件通常被放置在封闭的中括号内。一定要注意在 与操作数之间有一个空格。 如果忘记了这个空格,脚本就会报错。 在算数比较运算中,少不了 逻辑与、逻辑或、逻辑非 运算。 运算符 说明 举例 ! 非运算,表达式为 true 则返回 false,否则返回 true。 返回 true。 -o 或运算,有一个表达式为 true 则返回 true。 返回 true。 -a 与运算,两个表达式都为 true 才返回 true。 返回 false。 3、文件判断 该部分主要包括:文件判断、目录判断、权限判断、是否存在判断等 操作符 说明 举例 -b file 检测文件是否是块设备文件,如果是,则返回 true。 返回 false。 -c file 检测文件是否是字符设备文件,如果是,则返回 true。 返回 false。 -d file 检测文件是否是目录,如果是,则返回 true。 返回 false。 -f file 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。 返回 true。 -g file 检测文件是否设置了 SGID 位,如果是,则返回 true。 返回 false。 -k file 检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。 返回 false。 -p file 检测文件是否是有名管道,如果是,则返回 true。 返回 false。 -u file 检测文件是否设置了 SUID 位,如果是,则返回 true。 返回 false。 -r file 检测文件是否可读,如果是,则返回 true。 返回 true。 -w file 检测文件是否可写,如果是,则返回 true。 返回 true。 -x file 检测文件是否可执行,如果是,则返回 true。 返回 true。 -s file 检测文件是否为空(文件大小是否大于0),不为空返回 true。 返回 true。 -e file 检测文件(包括目录)是否存在,如果是,则返回 true。 返回 true。 -L file 检测文件是否是符号链接,如果是,则返回为true。 返回 true。 4、字符串判断 字符串操作判断包括:是否为空、两个字符串比较、字符串存在等 进行字符串比较时, 最好用双中括号 ,因为有时候采用单个中括号会产生错误。 运算符 说明 举例 = 检测两个字符串是否相等,相等返回 true。 ] 或者 ] 返回 false。 != 检测两个字符串是否不相等,不相等返回 true。 ] 返回 true。 -z 检测字符串长度是否为0,为0返回 true。 ] 返回 false。 -n 检测字符串长度是否不为 0,不为 0 返回 true。 ] 返回 true。 $ 检测字符串是否不为空,不为空返回 true。 ] 返回 true。 按照ASCII比较两个字符串字典排序,如果大于则为true $str2 ]] < 按照ASCII比较两个字符串字典排序,如果小于则为true ] 5、test指令测试 test 命令可以用来测试条件。用test可以避免使用过多的括号,增强代码的可读性。 if ; then echo "True" ; fi if test $var -eq 0 ; then echo "True" ; fi 注意, test 是一个外部程序,需要衍生出对应的进程,而 [ 是 Bash 的一个内部函数,因此后者的执行效率更高。 test 兼容于 Bourne shell 、 ash 、 dash 等
更多...
相关资源
Linux操作系统下PRO*C和OCI程序设计分析与比较
所需E币: 5
时间: 2019-12-22 06:32
大小: 100.16KB
上传者:
二不过三
摘要:Linux操作系统具备了Unix系统的稳定性,又具有成本低廉,高扩展性与可维护性好的优点,使其越来越成为服务器操作系统的首选。本文主要介绍PRO*C和OCI程序设计Linux操作系统上的运用和实现,具有一定的参考价值。[著者文摘]……
基于X264和流媒体的嵌入式视频监控系统
所需E币: 3
时间: 2019-12-22 06:31
大小: 262.86KB
上传者:
二不过三
摘要:提出了一种视频监控系统的解决方案,在IntelPXA270平台上采用优化的X264算法对采集的视频进行压缩,利用Ffmpeg建立流媒体服务器,从而在互联网上实现了实时监控。方案全部采用开源软件,减少了成本,实际测试表明监控系统延迟小,性能良好。[著者文摘]……
嵌入式智能仪器设计中触摸屏校准算法的应用研究
所需E币: 5
时间: 2019-12-22 06:32
大小: 221.13KB
上传者:
978461154_qq
摘要:针对嵌入式智能仪器设计中触摸屏校准过程中的准确性和稳定性问题,设计了一种可以在嵌入式Linux中使用的算法结构,经交叉编译后运行在S3C2440平台上,完成快速、准确的坐标变换功能。在算法中,通过引入5点坐标对触摸区域进行分割,分成四个触摸区分别计算各自的校准系数,解决了电阻触摸屏触摸点判断不准确、灵敏度不高的现象,改善了触摸屏判断的稳定性和灵活性问题,为触摸屏在智能仪器设计中的应用普及提供了一种有益的参考。[著者文摘]……
基于Linux嵌入式系统的Boot_Loader研究与实现
所需E币: 5
时间: 2019-12-22 06:32
大小: 283.2KB
上传者:
16245458_qq.com
摘要:通过深圳亿道电子公司嵌入式产品Eeliod开发板,对BootLoader的启动过程和存储映射进行了研究,重点分析了BootLoader的原理、程序架构,并最终实现了嵌入式开发板的引导。[著者文摘]……
基于Linux2.6内核的IPSec实现研究
所需E币: 4
时间: 2019-12-22 06:32
大小: 216.73KB
上传者:
978461154_qq
摘要:研究了Linux2.6内核中的IPSec整体实现,分析了内核与用户空间的交互机制PF_KEY套接口,详细解析了Linux2.6内核对IPSec的支持机制,最终通过具体应用实例实现了IPSec的功能,并给出了IPSec未来的扩展方向。[著者文摘]……
基于嵌入式技术的油井无线远程监测系统设计
所需E币: 4
时间: 2019-12-22 06:32
大小: 114.06KB
上传者:
2iot
摘要:为了适应油井参数采集的自动化和网络化,融合ZigBee和GPRS技术的特点和优势,提出了嵌入式的油井远程监测系统的解决方案,分析了以嵌入式控制器为核心的终端采集和无线网络传输单元的硬件设计、监测管理中心软件设计及管理平台的运行和构成,监测管理中心通过ZigBee和GPRS构成的无线网络监测和采集油井的性能和运行状况。本系统为油井的检测和自动化管理提供了基础。……
基于嵌入式技术的家庭网关设计
所需E币: 3
时间: 2019-12-22 06:32
大小: 232.06KB
上传者:
238112554_qq
摘要:家庭网关是嵌入式技术与智能家庭网络技术结合的产物,它用于家庭网络与外部网络之间的互连。以ARM核的32位嵌入式微处理器作为硬件平台,结合无线蓝牙通信技术,对硬件系统结构及接口电路进行设计,构建了家庭网关的软件平台,移植嵌入式操作系统Clinux,实现了一个方便、实用的家庭网关。[著者文摘]……
Linux环境下IPv6分布式防火墙的探讨
所需E币: 4
时间: 2019-12-22 06:32
大小: 196.42KB
上传者:
quw431979_163.com
摘要:今天的互联网大多数应用的是IPv4协议,IPv4协议已经使用r2()多年,在这20多年的应用中,IPv4获得了巨大的成功,同时随着应用范围的扩大,它也面临着越来越不容忽视的危机,例如地址匮乏等等。本文创新地设计与实现了基于Linux主机的IPv6分布式防火墙。本文首先阐述了分布式防火墙的概念和原理;接着分析基于Linux主机的IPV6分布式防火墙系统总体设计,然后,论述基于Linux主机的IPV6主机防火墙的设计与实现,并详述其具体实现的各个模块,最后对本系统进行了性能测试。[著者文摘]……
基于Xscale-Linux的GPRS_GSM移动终端及GUI设计
所需E币: 4
时间: 2019-12-22 06:32
大小: 431.45KB
上传者:
wsu_w_hotmail.com
摘要:采用目前成熟的GPRS/GSM通信技术,结合ARM嵌入式软硬件平台以及嵌入式Linux操作系统实现实时数据的无线远程监控终端。详细讨论了GPRS/GSM无线模块MC39i支持的AT命令协议与协议数据单元(PDU)的编解码过程,提供了MC39i模块与终端设备连接的串口模块在Linux下的实现方法。重点阐述了如何在Linux中建立QT/Embedded的开发环境和应用程序的移植以及如何在移动终端中予以实现,实践效果良好。[著者文摘]……
基于ARM的视频监控系统的设计与实现
所需E币: 3
时间: 2019-12-22 06:32
大小: 194.58KB
上传者:
rdg1993
摘要:基于ARM提出了一种便携式视频监控系统设计方案。该系统以ARM为处理器,通过嵌入式Linux采集USB摄像头视频数据,并将采集的视频数据帧经MPEG-4压缩后通过USB接口保存到闪存设备中。测试结果表明,该系统具有高效、稳定和使用方便等特点。[著者文摘]……
基于IEC61850和LINUX系统的继保子站研究
所需E币: 4
时间: 2019-12-22 06:32
大小: 253.57KB
上传者:
238112554_qq
摘要:面向智能电网的数字化变电站对故障信息系统子站的建设提出了新的需求,通过从多个角度对比分析在传统站与数字化变电站中子站建设的必要性和优势,并且介绍了面向智能电网新一代继保子站信息系统的特点,通过建设这样一套智能化的系统为运行调度人员提供准确的故障诊断,有利于故障的快速处理,减少故障造成的损失,满足数字智能故障信息系统在智能电网中的实际应用需要。[著者文摘]……
LINUX单线程网络服务器设计
所需E币: 3
时间: 2019-12-22 06:32
大小: 1.03MB
上传者:
二不过三
摘要:单线程网络服务器是LINUX系统中一个新的服务器设计模式,有良好的性能表现,本文在分析现有LINUX网络服务器开发模式的基础上,指出了单线程网络服务器的优点,然后给出了单线程网络服务器的设计框架,最后对其中的关键技术进行了阐述。[著者文摘]……
基于Linux的ARM9嵌入式车载信息系统的设计与实现
所需E币: 3
时间: 2019-12-22 06:32
大小: 406.92KB
上传者:
rdg1993
摘要:通过对嵌入式处理器分析研究,采用了基于ARM9处理器和嵌入式Linux操作系统的嵌入式系统作为车载信息系统(VehicleInformationSystem,VIS)的控制平台,详细设计了VIS硬件结构和VIS软件流程,并在ADS环境下进行VC++编程,成功地实现了系统基本功能。该系统具有集成度高以及可扩展性特点。[著者文摘]……
阻止缓冲区溢出攻击研究
所需E币: 5
时间: 2019-12-22 06:32
大小: 376.77KB
上传者:
微风DS
摘要:互联网服务器(例如Web、E-mail和FTP等服务器)一直是各种攻击的攻击对象,而这些攻击的主要目标就是使其不能够为它们各自的用户提供服务。尽管这种攻击技术要求攻击者具备相当深厚的汇编语言知识,甚至还要求掌握操作系统接口等相关细节知识,一旦有人编写了这样的攻击程序,并在网上发行,这些攻击的结果将在Unix和Linux系统平台上提供交互的命令外壳,甚至有可能上载并执行Windows系统上的任意程序……
linux在智能家居系统中的裁剪及应用
所需E币: 4
时间: 2019-12-22 06:31
大小: 171.14KB
上传者:
givh79_163.com
摘要:在本设计中,从既实现相应的功能又节省系统资源的角度出发,采用了功能强大的ARM芯片结合带有Linux操作系统内核软件包的方案.通过和RTL8019AS以太网控制器连接,实现以太网的接入。在软件方案设计上,嵌入式系统中没有实现全部的TCP/IP协议,而是实现经过裁减的TCP/IP协议栈。通过有针对性的模块化裁剪,在ARM芯片上嵌入精简的TCP/IP协议栈,实现嵌入式Internet接入。精简后的协议主要包括TCP/IP协议组中的四个基本的协议:ARP协议、Ip协议、ICMP协议、TCP协议。链路层协议,作为设备驱动在链路层实现,由主控芯片来驱动以太网卡RTL8019AS。应用层协议,实现了HTTP协议。设计提供远程浏览的Web页面,需要通过登陆页面,进行身份验证,才能进入控制页面,实现家用电器的远程控制,增加了系统的安全性。[著者文摘]……
双桶双虹吸称重雨量计的测报系统设计
所需E币: 3
时间: 2019-12-22 06:31
大小: 309.71KB
上传者:
quw431979_163.com
摘要:针对目前常用虹吸式雨量计在虹吸时容易产生计量误差、难以实现自动化控制等问题,设计了一种基于双桶双虹吸称重雨量计和ARM处理终端的自动测报系统。该系统通过双桶双虹吸结构及称重传感器,有效地消除了降雨随虹吸流失造成的雨量计量误差,并实现了数据的自动采集。系统具有准确、及时、高效、无人值守等特点,经测试证明,系统运行稳定、精确度高、效果良好。[著者文摘]……
基于CentOS5.4环境构建LAMP平台
所需E币: 3
时间: 2019-12-22 06:31
大小: 437.92KB
上传者:
二不过三
摘要:本文简单介绍了CentOS和LAMP,详细阐述了基于CentOS5.4系统环境的LAMP平台构建。[著者文摘]……
WindowsSockets规范及应用
所需E币: 5
时间: 2019-12-22 06:31
大小: 1.58MB
上传者:
rdg1993
WindowsSockets规范及应用……
MS-Project2000参考教程
所需E币: 5
时间: 2019-12-22 06:31
大小: 6.71MB
上传者:
wsu_w_hotmail.com
MS-Project2000参考教程……
2009计算机协会(ACM会议文献报告)
所需E币: 5
时间: 2019-12-22 06:31
大小: 6.99MB
上传者:
16245458_qq.com
2009计算机协会(ACM会议文献报告)……
更多...
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×