linux shell 编程(二)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

linux shell编程test语法的使用

test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试,其测试符和相应的功能分别如下:


一、数值测试:
-eq:等于则为真
-ne:不等于则为真
-gt:大于则为真
-ge:大于等于则为真
-lt:小于则为真
-le:小于等于则为真


二、字符串测试:
=:等于则为真
!=:不相等则为真
-z字符串:字符串长度为0则为真(空字符串)
-n字符串:字符串长度不为0则为真(非空字符串)


三、文件测试:
-e文件名:如果文件存在则为真
-r文件名:如果文件存在且可读则为真
-w文件名:如果文件存在且可写则为真
-x文件名:如果文件存在且可执行则为真
-s文件名:如果文件存在且至少有一个字符则为真
-d文件名:如果文件存在且为目录则为真
-f文件名:如果文件存在且为普通文件则为真
-c文件名:如果文件存在且为字符型特殊文件则为真
-b文件名:如果文件存在且为块特殊文件则为真
另外,Linux还提供了与(“-a”)、或(“-o)、非(“”)三个逻辑操作符用于将测试条件连接起来,其优先级为:“!”最高,“-a”次之,“-o”最低。

逻辑表达式
test 1 = 1

[ 2 \< 1 ]

[[ 2 < 3 && 4 > 5 ]]
三个表达式是等效的,所有字符和逻辑运算符直接用空格分开,不能连到一起

[]中,常见的>, <需要加上转义字符,表示字符串的大小比较;不支持逻辑运算符 || &&,需要使用-o -a代替

[[]]运算符是[]的扩充,支持>,<且不需要转义,表示字符串的大小比较;支持逻辑运算符|| &&

同时,bash也能完成简单的算术运算,格式如下:
    $[expression]
例如:
    var1=2
    var2=$[var1*10+1](var1前面可能少了$符号)
则:
    var2的值为21

转自:http://c.biancheng.net/cpp/html/1500.html

shell编程:test命令 Test命令: 语法: test expression 或者 [expression](test命令对表达式进行测试,并且设置返回值。) 返回结果:true(0)、false(非零通常为1) test命令能够测试的对象有:整数 、字符串、文件。 test命令被用来评估表达式并且产生返回值。它用参数组成逻辑表达式并且对表达式的返回值进行评估,test命令不会产生标准输出,你必须通过返回值来判断test命令的结果,如果表达式为真,返回值会为0,如果表达式为假,返回值为1。 test命令可以被单独使用,然后你能 阅读详情

相关推荐

bash的算术运算和条件测试语句

shell脚本编程shell脚本的内容和格式: 首行,绝对行首,shebang(解释器程序的绝对路径) 注释信息:以#占据绝对行首的行; 为了能在程序中突出程序的功能,适当的添加空白行,以分隔不同功能的源代码块; 有一定的缩进 利用bash脚本编程实现算数运算: + — * / % 模运算 取余 **|^ 乘方 增强型算术运...

weixin_34313182的博客 146

Linux shell编程shell脚本执行的三种方式

在脚本执行前,会先执行环境变量ENV,一个规范的Shell脚本在第1行(一定要是在第一行,在其它行就变成了释行)会指出由哪个程序(解释器)来执行脚本中的内容:#!/bin/python#!/bin/awk#!/bin/sh#!/bin/bash等等在Linux bash的编程一般为:#!/bin/bash 或  #!/bin/sh注意:(1)在Shell中如果一行的第一个字母是#,则是注释,但是上...

葡萄藤的博客 1659

Shell中>/dev/null 2>&1和2>&1 >/dev/null

Linux系统中0,1,2是一个文件描述符: 0:system in,标准输入 1:system.out,标准输出 2:system.error,标准错误输出 >&是一个整体,2>&1指,将标准错误输出,重定向到标准输出中 >/dev/null 2>&1 本来1指向命令行打印, 执行>/dev/null后,标准输出1重定向到/...

攻城狮Kevin 1648

LinuxShell编程

LinuxShell编程:流程控制(if、case、for/while循环、函数、字符截取、处理、替换等)

低调做人,低调编码,神码都是浮云 1599

Linuxshell编程()

3. shell程序设计(基础部分)  其实作为命令语言交互式地解释和执行用户输入的命令只是shell功能的一个方面,shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于DOS中的批处理文件,称为shell script,又叫shell程序或shell命令文件。  1.shell基本语法  shell的基本语法主要就是如何输入命

zhuqinwu的专栏 605

悟懂Linux第23章shell编程-使用其他shell②zsh shell

它汲取了所有现有shell的设计理念并增加了许多独到的功能,为程序员创建了一个无所不能的高级shell。它使用可加载的模块来加载单独的代码库,这使得高级函数的使用与在命令行上运行命令一样简单。zsh shell的思想是提供一个基本的、最小化的shell环境,让你在编程时再添加需要的模块。zsh中的每个结构化命令采用的语法都跟你熟悉的bash shell中的一样。这个功能提供了一个极佳的方式:在需要较小shell体积和较少命令时限制zsh shell的体积,在需要更快执行速度时增加可用的内建命令数量。

华为奋斗者精神 1909

LinuxShell编程

文件描述符(FD)对应数据流功能说明默认目标0标准输入(stdin)接收外部输入(如键盘输入、文件内容)键盘1标准输出(stdout)输出正常执行结果(如命令的正确反馈)终端2标准错误(stderr)输出错误信息(如命令执行失败的提示)终端逻辑运算符:按命令结果(0 = 成功,非 0 = 失败)控流程&&:左成功才执行右(如||:左失败才执行右(如mysql || echo "连接失败"echo 命令:输出内容文件描述符(FD):3 个核心标识。

2501_93012470的博客 1090

linuxshell编程

今天给大家继续来分析linux下的shell编程,在上一篇文章简单的介绍了shell编程到底是什么,以及它的一些基本使用规则。我们今天主要来分享shell编程中的一些其他用法,比如说:条件语句,循环语句等;好了下面就开始我我们今天的内容了: 一、shell中的变量定义和引用: 1、变量定义和初始化:shell是弱类型语言(语言中的变量如果有明确的类型则属于强类型语言;变量没有明确类型就是弱类型语言...

Dada_ping的博客 313

Linux Shell编程()

字符串中单引号和双引号的区别

. 992

Linux实验 SHELL 简单编程实验和较复杂的考勤模拟

3.3.5 写一个 shell 脚本,包含两个数字数组 array1 和 array2,分别初始化为{1,2,3,4, 5}和{1,4,9,16,25}。脚本生成并显示一个数组,其中的元素是这两个数组中 对应元素的和,数组中第一个元素是 1+1=2,第 2 个元素是 2+4=6 等。如果这个文件是一个普通文件,则打印文件所有者的名字和最后的修改日期。3.3.2 编写一个 bash 脚本程序,用 for 循环实现将当前目录下的所有.c 文件移到指定的目录下,最后在显示器上显示指定目录下的文件和目录。

apple_74345586的博客 2182

LinuxShell编程(shell语法)

一、条件测试       1、test 命令 或  [             test 命令或者 [ 可以测试一个条件是否为成立,如果测试结果为真,则该命令的 Exit Status 为 0。如果测试结果为假,则命令的 Exit Status 为1(注意与 C 语言的逻辑表达式正好相反)。             用法:                       [ -d DIR ]

ARRAYLI_博客 521

Linux shell脚本编程()

Linux shell脚本编程() -------------------------------------------------------------------- 注:如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:895817687 -----------------------------------------------------...

weixin_42625143的博客 299

Linuxshell编程)-Shell 字符串、Shell 数组、Shell 注释

Linuxshell编程)-Shell 字符串、Shell 数组、Shell 注释 1、Shell 字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。 1)单引号 str='this is a string' 注意: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;...

lds_include 780

shell编程() : [Linux基础] Linux shell 介绍

Linux shell基础 2.1 关于shell 前面讲过,shell也是一个程序,经常说的shell进程就是正在运行的shell程序(进程就是正在运行中的程序)。 2.1.1 父shell进程与子shell进程 当我们打开一个终端时,启动的shell就是一个父shell,在这个终端执行 bash 命令,会启动一个子shell

淋曦的进击手记 2302

Linux Shell编程

五、BASH SHELL编程: 1.    初始化顺序: /etc/profile    ( ~/.bash_profile | ~/.bash_login | ~/.profile )    ~/.bashrc 2.    set -o allexport 当前shell变量对其所有子shell都有效.        set +o allexport 当前shell变量对其所有

wusthongmin的专栏 700

Linux Shell编程

以"``"符号包含的内容不是字符串,而是代表这是一个shell命令。 echo "today is" `date` 前面是字符,后面`date`表示执行date这个命令。 PDATE=`date` 代表定义一个变量PDATE,将date执行完成输出的结果放入变量PDATE中。 以单引号,双引号包含的字符全部会被shell认为是字符串 echo "today is " 'date' ...

weixin_34289454的博客 117

linux系统编程shell,linuxshell编程基础篇

上一篇文章主要讲的是shell中最基础的东西像history,文件/数字等测试,如何执行一个脚本等,这次主要是介绍一些稍微深入的内容。比如test测试,if条件语句,for循环,while循环,case语句,自定义函数等,希望对大家有帮助,大家多提意见。。。。。一.条件测试操作1. test命令 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值 格式:tes...

weixin_42511587的博客 126

linux shell编程之条件语句(

Shell编程作为 Linux 系统管理的重要组成部分,其强大的脚本处理能力为自动化任务提供了极大便利。在 Shell脚本编写中,条件语句是不可或缺的逻辑控制结构,它们使得脚本能够根据不同的条件执行相应的操作,从而实现智能化和高效化。

2501_91344113的博客 1692
上一篇: linux shell 编程(一)
下一篇: linux shell 编程(三)
sole_cc
博客等级 码龄14年 57粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值