`
shao246
  • 浏览: 10145 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux-文件比较与测试

阅读更多

一.算术比较

算术操作符主要有以下几个:

-eq:等于(equal)

-gt: 大于(greater than)

-lt: 小于(less than)

-ge:大于或等于(greater than or equal)

-le:小于或等于(less than or equal)

对变量或值进行算术条件比较,如果两个条件通过&&,||连接在一起,记得在操作数之间要有一个空格。例如:

[ $var1 -eq 0 ] || [$var2 -lt 10 ]

 

二.文件系统相关属性测试

与文件系统相关的测试符号主要有:

[ -d $var ]:如果给定变量为目录,则返回真。

[ -f $var ]: 如果给定变量为文件,则返回真。

[ -x $var ]: 如果给定变量是可执行的,则返回真。

[ -w $var ]: 如果给定变量可写,则返回真。

[ -r $var ]: 如果给定变量可读,则返回真。

[ -e $var ]: 如果给定变量存在,则返回真。

.....

使用方法如下:

fpath="/etc/passwd"

if [ -e $fpath ]; then

     echo “File exists"

else

     echo "Does not exist"

fi

 

三.字符串比较

比较两字符串是否相等:

[[ $str1 = $str2 ]]: 当str1等于str2时,返回真,即str1和str2包含的文本是一模一样的,也可以写成[[ $str1 == $str2 ]] 。

 

其他字符串比较符号:

[ $str1 != $str2 ]: 如果str1和str2不相同,则返回真。

[ $str1 > $str2 ]: 如果str1的字母顺序比str2大,则返回真。

[ $str3 < $str2 ]: 如果str1的字母顺序比str2小,则返回真。

[ -z $str1 ]: 如果str1为空,则返回真。

[ -n $str1 ]: 如果str1非空,则返回真。

 

注意:Linux中 “=“ 的用法,如果 “=” 前后各有一个空格,则表示比较, 如果没有空格,则表示赋值。




 

 

 

 

  • 大小: 26.3 KB
  • 大小: 5.1 KB
分享到:
评论

相关推荐

    Makefile文件arm-none-linux-gnueabi-gcc编译文件

    Makefile文件arm-none-linux-gnueabi-gcc编译文件,linux下多个.C文件统一使用make文件进行编译

    Kali Linux VMware(kali-linux-2022.2-vmware-amd64.part2.rar)

    Kali Linux VMware(kali-linux-2022.2-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2022.2-vmware-amd64.part1.rar ... kali-linux-2022.2-vmware-amd64.part2.rar...

    aarch64-linux-android-4.9.rar

    3. 调试与测试:使用GDBserver等调试工具进行远程调试,同时在真实设备或模拟器上进行充分的测试,以验证程序的正确性。 总之,aarch64-linux-android-4.9作为Android开发中的核心工具,帮助开发者跨越了不同平台...

    Kali Linux VMware(kali-linux-2022.2-vmware-amd64.part1.rar)

    Kali Linux VMware(kali-linux-2022.2-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2022.2-vmware-amd64.part1.rar ... kali-linux-2022.2-vmware-amd64.part2.rar...

    Kali Linux VMware(kali-linux-2022.2-vmware-amd64.part3.rar)

    Kali Linux VMware(kali-linux-2022.2-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2022.2-vmware-amd64.part1.rar ... kali-linux-2022.2-vmware-amd64.part2.rar...

    jdk-8u261-linux-x64.tar linux jdk

    然而,压缩包子文件列表中的 "愛にできることはまだあるかい (Movie edit).mp3" 与JDK无关,看起来可能是上传时误放入的文件,通常不会出现在JDK的下载包中。如果这个MP3文件是意外混入的,应当被忽略,只关注 "jdk-...

    arm-2013.11-33-arm-none-linux-gnueabi-i686-pc-linux-gnu

    在压缩包子文件的文件名称列表中,我们只看到一个条目:"arm-2013.11-33-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2",这与标题完全吻合,确认了压缩包中包含的就是这个交叉编译工具链的文件。 使用这样的...

    arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.rar

    压缩包中的另一个文件“arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2”,很可能包含了实际的工具链二进制文件和库。这是一个被bzip2压缩的tar归档文件,解压后可以得到一个完整的目录结构,...

    arm-linux-gnueabihf-gcc-linaro-7.5.0-x86_64.tar.xz.zip

    4. 测试编译器:运行`arm-linux-gnueabihf-gcc --version`检查编译器是否成功安装并确认版本。 使用这个交叉编译器,开发者可以为各种ARM设备,如嵌入式系统、Raspberry Pi、开发板等,构建和优化软件,确保它们在...

    交叉编译环境的建立arm-linux-gcc-4.3.2的安装

    ### 交叉编译环境的建立与arm-linux-gcc-4.3.2的安装 在进行嵌入式系统开发时,经常会遇到需要为不同的目标平台编译代码的情况,这就涉及到了交叉编译的概念。交叉编译是指在一个平台上编译代码,并生成可以在另一...

    jdk-8u162-linux-x64.tar.zip

    标题中的“jdk-8u162-linux-x64.tar.zip”揭示了这是一个与Java开发工具包(JDK)相关的文件,特别指出是版本8的更新162(u162),针对Linux操作系统的64位架构。JDK是Java编程语言的核心组件,包含了编译器、调试器...

    jdk-8u181-linux-x64.tar.gz

    标签"jdk8"、"linux"、"jdk8"进一步强调了这是与Java 8有关的内容,特别是与Linux平台的兼容性。Java 8是Oracle公司发布的一个重要版本,引入了许多新特性,如Lambda表达式、函数式编程、Stream API、Date和Time API...

    kali-linux-2021.3-vmware-amd64.part3.rar

    Kali Linux VMware(kali-linux-2021.3-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2021.3-vmware-amd64.part3.rar ... kali-linux-2021.3-vmware-amd64.part2....

    kali-linux-2022.1-vmware-amd64.part1.rar

    Kali Linux VMware(kali-linux-2022.1-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2022.1-vmware-amd64.part1.rar ... kali-linux-2022.1-vmware-amd64.part2.rar...

    ubuntu安装arm-none-linux-gnueabi交叉工具链.pdf

    arm-none-linux-gnueabi 交叉工具链与 arm-linux-gcc 的区别在于,arm-none-linux-gnueabi 是一个基于 EABI 标准的交叉工具链,而 arm-linux-gcc 是一个基于 OABI 标准的交叉工具链。EABI 标准是 ARM 公司推出的标准...

    arm-linux-gcc-5.4.0交叉编译工具.rar

    总结来说,`arm-linux-gcc-5.4.0`是一个强大的工具,使得开发者能够在非ARM设备上构建和测试针对ARM Linux系统的应用。它的重要性在于提高了跨平台开发的效率和灵活性,特别是在处理复杂的项目如QT时,新版本的...

    geth-linux-amd64-1.9.9-01744997.tar.gz

    在压缩包内的文件"geth-linux-amd64-1.9.9-01744997"很可能是Geth的可执行文件,用户解压后可以通过命令行运行,启动以太坊节点。这个文件包含了运行Geth所需的所有依赖,使得用户可以在支持Go语言的Linux环境中快速...

    Linux-PAM-1.3.0.tar.gz_PAM_linux_pam 1.3.1

    2. **配置文件**:PAM的配置通常位于/etc/pam.d/目录下,这里可能包含针对不同服务的配置脚本,定义了服务如何与PAM交互以及使用哪些模块进行认证。 3. **文档**:压缩包内可能会有README、INSTALL、CHANGELOG等...

    eclipse-java-2023-09-R-linux-gtk-x86-64.tar.gz

    这个文件采用tar.gz格式进行压缩,这是一种在Linux和Unix系统中常见的归档和压缩方法。 Eclipse IDE是一款开源的集成开发环境(Integrated Development Environment),主要用于编写Java应用程序。它以其强大的代码...

    jdk-8u144-linux-x64.zip

    标签"jdk-8u144-linux-"揭示了这个压缩包与JDK 8u144在Linux平台有关,可能是为了方便搜索和分类。 压缩包内的文件名列表如下: 1. "jdk-8u144-linux-x64.rpm":如前所述,这是一个RPM格式的JDK安装包,用户可以...

Global site tag (gtag.js) - Google Analytics