笔记 | Bash 中 if 判断选项

在 Bash 脚本中,if 语句可以使用多种条件检测选项来测试文件、字符串以及其他条件。以下是一些常见的测试选项:

文件测试

  • -d FILE:如果 FILE 存在且是一个目录,则为真。
  • -e FILE:如果 FILE 存在,则为真。
  • -f FILE:如果 FILE 存在且是一个普通文件,则为真。
  • -r FILE:如果 FILE 存在且可读,则为真。
  • -s FILE:如果 FILE 存在且其大小不为零,则为真。
  • -w FILE:如果 FILE 存在且可写,则为真。
  • -x FILE:如果 FILE 存在且可执行,则为真。
  • -L FILE:如果 FILE 存在且是一个符号链接,则为真。

字符串测试

  • -z STRING:如果 STRING 的长度为零,则为真。
  • -n STRINGSTRING(没有任何标志):如果 STRING 的长度非零,则为真。
  • STRING1 = STRING2:如果两个字符串相同,则为真。
  • STRING1 != STRING2:如果两个字符串不相同,则为真。

整数比较

  • INT1 -eq INT2:如果两个整数相等,则为真。
  • INT1 -ne INT2:如果两个整数不相等,则为真。
  • INT1 -lt INT2:如果 INT1 小于 INT2,则为真。
  • INT1 -le INT2:如果 INT1 小于或等于 INT2,则为真。
  • INT1 -gt INT2:如果 INT1 大于 INT2,则为真。
  • INT1 -ge INT2:如果 INT1 大于或等于 INT2,则为真。

复合条件

  • !:逻辑非操作。
  • -a&&:逻辑与操作。
  • -o||:逻辑或操作。

其他测试

  • -o OPTION:如果 shell 选项 OPTION 开启,则为真。
  • -z VAR-n VAR 也可以在没有 $ 符号的情况下使用,如 -z VAR

使用这些测试选项可以构造出各种条件表达式,来进行复杂的逻辑判断。务必根据实际情况和要处理的数据类型选择适当的测试选项。

在编写脚本时,遵循最佳实践对文件路径和字符串变量使用引号非常重要。这可以防止脚本在处理包含空格或特殊字符的变量时出错。

相关推荐
qq_433554541 天前
C++ 最大子段和(动态规划)
开发语言·c++·动态规划
lijiatu100861 天前
[C++] lock_guard、unique_lock与条件变量wait()函数
开发语言·c++
JHC0000001 天前
x 的平方根
开发语言·爬虫·python
丝斯20111 天前
AI学习笔记整理(20)—— AI核心技术(深度学习4)
人工智能·笔记·学习
love530love1 天前
【笔记】重建 Stable Diffusion WebUI 虚拟环境实录
人工智能·windows·笔记·python·stable diffusion·aigc·虚拟环境
曹牧1 天前
C#:<SubType>Component</SubType>
开发语言·c#
Pou光明1 天前
7_线程安全_线程间的内存可视性2缓存_内存屏障_读写排序
java·开发语言·缓存
遇到困难睡大觉哈哈1 天前
Harmony os——ArkTS 高性能编程实践 – 速查笔记
笔记·harmonyos·鸿蒙
iiiiii111 天前
【论文阅读笔记】IDAQ:离线元强化学习中的分布内在线适应
论文阅读·人工智能·笔记·学习·算法·机器学习·强化学习
点亮一颗LED(从入门到放弃)1 天前
C语言学习笔记(1)——输入输出,数据类型
c语言·笔记·学习