bash中的if判断
基本语法
1 | if [ condition ]; then |
条件表达式
1. 字符串比较:
str1 == str2:检查两个字符串是否相等。str1 != str2:检查两个字符串是否不相等。
2. 数值比较:
-
-eq:等于。 -
-ne:不等于。 -
-lt:小于。 -
-le:小于或等于。 -
-gt:大于。 -
-ge:大于或等于。例如:
if [ $a -eq $b ]; then
3. 文件测试:
-
-e file:文件存在。 -
-f file:文件存在且为普通文件。 -
-d file:文件存在且为目录。 -
-r file:文件存在且可读。 -
-w file:文件存在且可写。 -
-x file:文件存在且可执行。例如:
if [ -e filename ]; then
4. 复合条件:
-
&&:逻辑与。 -
||:逻辑或。注意:在
[ ]中使用&&和||时,需要用括号将它们括起来,并且每个条件之间需要用]和[分隔。
示例
- 字符串比较:
1 | if [ "$string1" == "$string2" ]; then |
- 数值比较:
1 | a=10 |
- 文件测试:
1 | filename="testfile.txt" |
- 复合条件:
1 | if [ $a -lt 10 ] && [ $b -gt 5 ]; then |
注意事项
- 在
[ ]内,测试表达式两侧需要有空格。 - 变量应该用双引号包围,以避免空值或包含空格的值导致的错误。
- 在使用
&&和||时,确保每个条件都用[ ]包围,并且用]和[分隔。 - 使用
bash脚本时,建议使用bash而不是sh,因为sh可能不支持某些bash特性。
- 标题: bash中的if判断
- 作者: 三葉Leaves
- 创建于 : 2024-10-04 00:00:00
- 更新于 : 2026-03-16 12:05:05
- 链接: https://blog.oksanye.com/e415d72d92ee/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论