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
- 更新于 : 2024-11-21 16:56:20
- 链接: https://leavesblog.netlify.app/81b6a7c24290/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论