linux中bash的整数运算符 文件测试符 字符运算附

运算符
描述


示例


文件比较运算符


[-e file]


如果文件存在,则为真


eg:[ -e /etc/passwd ]


[-d file]


如果为目录,则为真


eg:[ -d /etc ]


[-f file]


如果为常规文件,则为真


eg:[ -f /etc/passwd ]


[-L file]


如果为符号链接,则为真


eg:[ -L  /etc/passwd ]


[-r file]


如果为可读,则为真


eg:[ -r  /etc/passwd  ]


[-w file]


如果为可写,则为真


eg:[ -w  /etc/passwd  ]


[-x file]


如果为可执行,则为真


eg:[ -L /etc/passwd  ]


[file1-nt file2]


如果 file1比 file2新,则为真


eg:[ /etc/passwd  -nt /etc/passwd ]


[file1-ot file2]


如果 file1比 file2旧,则为真


eg:[ /etc/passwd -ot /etc/passwd]


字符串比较运算符


[-z 字符串]或[-z 变量]


如果 str长度为零,则为真


eg:[ -z "$str" ]


[-n 字符串]或[-n 变量]


如果 str长度非零,则为真


eg:[ -n "$tr" ]


[字符串1= 字符串2]


如果 str1与 str2相同,则为真


eg:[ "$str" = "this is a string" ]


[字符串1!= 字符串2]


如果 str1与 str2不同,则为真


eg:[ "$str" != "this is a string" ]


算术比较运算符


[num1-eq num2]


等于


eg:[ 1 -eq $num ]


[num1-ne num2]


不等于


eg:[ 2 -ne $num ]


[num1-lt num2]


小于


eg:[ 3 -lt $mnum ]


[num1-le num2]


小于或等于


eg:[ 4 -le $num ]


[num1-gt num2]


大于


eg:[ 5 -gt $num ]


[num1-ge num2]


大于或等于


eg:[ 6 -ge $num ]

时间: 2024-12-18 01:53:32

linux中bash的整数运算符 文件测试符 字符运算附的相关文章

Linux中.a,.la,.o,.so文件的意义和编程实现

Linux中.a,.la,.o,.so文件的意义和编程实现    Linux下文件的类型是不依赖于其后缀名的,但一般来讲:        .o,是目标文件,相当于windows中的.obj文件        .so 为共享库,是shared object,用于动态连接的,和dll差不多        .a为静态库,是好多个.o合在一起,用于静态连接        .la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息.可以用如下命令查看*.la文件的格式   $file

诠释Linux中『一切都是文件』概念和相应的文件类型

在 Unix 和它衍生的比如 Linux 系统中,一切都可以看做文件.虽然它仅仅只是一个泛泛的概念,但这是事实.如果有不是文件的,那它一定是正运行的进程. 要理解这点,可以举个例子,您的根目录(/)的空间充斥着不同类型的 Linux 文件.当您创建一个文件或向系统传输一个文件时,它会在物理磁盘上占据的一些空间,而且是一个特定的格式(文件类型). 虽然 Linux 系统中文件和目录没有什么不同,但目录还有一个重要的功能,那就是有结构性的分组存储其它文件,以方便查找访问.所有的硬件组件都表示为文件,

linux中tar 打包指定路径文件

linux中tar打包指定路径文件www.111cn.net 编辑:yahoo 来源:转载在linux系统中打包与解压文件我都可以使用tar命令来解决,只要使用不同的参数就可以实现不同的需要了,下面来给大家介绍一下tar的使用方法. 压缩: tar czvf /data/backup/test.tar.gz /data/a/b/directory解压: cd /data/test tar xzvf /data/backup/test.tar.gz 问题是,解压后的文件,在/data/test/d

linux 中常用的一些头文件

#include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件. #include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件. #include <mach/***.h> 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件. #include <plat/regs-adc.h>

Linux中ftp不能上传文件/目录的解决办法

在linux中不能上传文件或文件夹最多的问题就是权限问题,但有时也不一定是权限问题了,像我就是空间不够用了,下面我来总结一些ftp不能上传文件/目录的解决办法 在排除用户组和权限等问题后,最可能引起ftp下文件无法上传并经常被忽略的因素就是硬盘空间已满,而导致硬盘空间满的问题多数是日志文件所占用的,例如mysql的日志会在不知不觉中变得十分庞大,直至占满剩余的硬盘空间. 解决办法: 1.定期手动清理或使用脚本清理mysql日志或其他相关日志文件. 2.关闭mysql日志(不推荐) 上面是空间有问

嵌入式 Linux系统编程(二)——文件描述符控制函数fcntl

嵌入式 Linux系统编程(二)--文件描述符控制函数fcntl 由于fcntl函数实在过于灵活和复杂,本文将fcntl函数从文件IO中单独列出来,便于详细解读.函数原型如下: #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd, ... /* arg */ ); fcntl函数用于控制操作文件描述符fd,对文件描述符的控制操作由cmd控制命令来控制,arg参数为可选参数,是否需要arg参数取决于控制命令

linux中的通配符、元字符、转义符

linux中的通配符.元字符.转义符 linux中的通配符元字符转义符 shell命令的构成 通配符 元字符meta 转义符 example reference shell命令的构成 每条linux命令中的每一个character都是下面两种之中的一个: - literal:普通纯文本 - 保留字:通配符.元字符.转义字符 通配符 通配符是由shell处理的(不是由所涉及到命令语句处理的.事实上我们在shell各个命令中也没有发现有这些通配符介绍), 它仅仅会出如今命令的"參数"里(它

Linux中bash文档翻译

BASH(1)通用命令手册BASH(1) 名称? bash - GNU Bourne-Again SHell 概要? bash [选项] [文件] 版权? Bash是自由软件基金会版权所有(C)1989-2011. 描述? Bash是一种兼容sh的命令语言解释器,它执行从标准输入或文件读取的命令.Bash还包含了有用的功能? Korn和C shell(ksh和csh). Bash旨在成为IEEE POSIX规范(IEEE标准1003.1)的Shell和Utilities部分的一致实现.Bash可

Linux中bash shell入门

▲初探shell Shell分为图形界面shell(如win中的explorer,linux中的kDE和GNOME)和命令行shell.Shell是一个命令解释器,又分为交互式和非交互式.也可分为登陆式shell(需输入用户名和密码)和非登陆式shell Linux中支持的shell在/etc/shells文件中 Linux使用的默认shell为bash(Bourne Again Shell) ? type [-at] name????显示name是外部命令还是bash内置命令 ????参数-t