Linux shell编程 8 ---- 退出+测试

简介:  1 退出状态     1 在Linux shell编程中,每个命令在脚本完成后都会有一个退出状态          2 退出状态用一个整数值表示,若退出状态为0表示成功,若退出状态非0表示失败。


 1 退出状态

    1 在Linux shell编程中,每个命令在脚本完成后都会有一个退出状态

    

    2 退出状态用一个整数值表示,若退出状态为0表示成功,若退出状态非0表示失败。

    

    3 最后一次执行命令的推出状态保存在内配变量"$?"中,我们可以通过echo $?来查看

    

    4 退出状态及其含义

       状态值              含义

          0                    表示运行成功,程序执行未遇到任何问题

         1~255             表示运行失败,脚本命令,系统命令错误或参数传递错误

         126                 找到了命令但无法执行

         127                 未找到要运行的命令

         >128               命令曾被系统强行结束

 

 2 测试

    1 测试命令可用于测试表达式的条件的真假,如果测试条件为真,则返回一个0,如果测试的条件为非假则返回一个非0的值

     

    2 测试命令有两种方式

       1 test expression 

          expression是一个表达式,该表达式可由数字,字符串,文本和文件属性的比较,同时可以加入各种算术,字符串, 文本等运算符。

       2 [ expression ] 

          其中[]是一个启动测试的命令,但是要求在[和]的后面和前面都要有一个空格,这种测试条件是计较常用的,经常和if,while等联用。

 

     3 整数数值的比较

        1 一般的整数比较方式是,假设两个整数为a和b

           [ $a -operator $b ]   // operator是比较符号


        2 如果是使用[]比较,那么operator有如下6种

           整数比较运算符                      描述

            [ $a -eq $b ]                  比较a是否和b相等

            [ $a -ge $b ]                  比较a是否大于等于b

            [ $a -gt $b ]                   比较a是否大于b

            [ $a -le $b ]                   比较a是否小于等于b

            [ $a -lt $b ]                    比较a是否小于b

            [ $a -ne $b ]                  比较a是否不等于b


     4 字符串比较

        1 同整数运算符一样,Linux中也提供了字符串运算符

        2 字符串运算符表

           字符串运算符                                    描述

               [ string ]                         测试字符串string是否不为空

               [ -n string ]                     测试字符串string是否不为空

               [ -z string ]                     测试字符串是否为空

               [ string1 = string2 ]        测试字符串string1和string2是否相等

               [ string1 != string2 ]       测试字符串string1和string2是否不相等


     5 文件操作符

        1 文件的测试操作也有两种方法

           test file_operator file   // file_operator是文件的操作符

           [ file_operator file ]     // file_operator是文件的操作符


        2 文件操作符表

            文件运算符                         描述

              [ -d file ]               测试文件file是否为目录

              [ -e file ]               测试文件file是否存在

              [ -f file ]                测试文件file是否为普通文件

              [ -r file ]                测试文件file是否是进程可读文件

              [ -s file ]               测试文件file的长度是否不为0

              [ -w file ]              测试文件file是否是进程可写文件

              [ -x file ]               测试文件file是否是进程可执行文件

              [ -L file ]               测试文件file是否符号化链接

 


目录
相关文章
|
20天前
|
安全 Linux 虚拟化
|
2月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
2月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
6天前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
15 1
|
25天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
71 4
|
1月前
|
Shell
Shell编程(下)
Shell编程(下)
92 1
|
1月前
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
41 1
|
1月前
|
Shell Linux 开发工具
|
1月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
67 12
下一篇
无影云桌面