Prueba de condición
1. comando de prueba
- Prueba si la expresión está establecida, si está establecida, devuelve 0 (valor booleano), de lo contrario devuelve otros valores
- El valor booleano es uno de verdadero (verdadero) o falso (falso), el valor booleano en la programación de shellEstablecido como 0, No se mantiene y se expresa comoDistinto de cero
- Expresión condicional de prueba de formato 1
- Formato 2 [expresión condicional] (debe haber espacios en ambos lados de la expresión)
2. Prueba de archivos
Formatear
[archivo o directorio del operador]
常用的测试操作符:
-d #测试是否为目录(Directory)
-e #测试目录或文件是否存在(Exist)
-f #测试是否为文件/文件是否存在(File)
-r #测试当前用户是否有权限读取(Read)
-w #测试当前用户是否有权限写入(Write)
-x #测试当前用户是否有权限执行(eXcute)
Ejemplo:
3. Comparación de valores enteros
Formato
[entero 1 operador entero 2]
常用的测试操作符:
-eq #等于(Equal)
-ne #不等于(Not Equal)
-gt #大于(Greater Than)
-lt #小于(Lesser Than)
-le #小于或等于(Lesser or Equal)
-ge #大于或等于(Greater or Equal)
Expansión:
4. Comparación de cadenas
Formato 1
[Cadena 1 = Cadena 2] o [Cadena 1 == Cadena 2]
[Cadena 1! = Cadena 2]
Formato 2
[-z Cadena] Compruebe si la cadena está vacía (cero), Las variables que no estén definidas o que no tengan asignado un valor nulo serán tratadas como cadenas vacías
[-n cadena] Verifique si hay una cadena
常用的测试操作符:
= #字符串内容相同
!= #字符串的内容不同,!号表示相反的意思
-z #检查字符串内容是否为空
-n #检查字符串是否存在
5. Prueba de lógica
Formato 1
[Expresión 1] Operador [Expresión 2]
Formato 2
[Comando 1 Operador Comando 2]
-a或&& #逻辑与(而且的意思)
-o或|| #逻辑或(或者的意思)
! #逻辑否
Use -a o -o en el mismo corchete, y use && o || entre diferentes corchetes
Nota: Si los operadores &&, || aparecen en [], se informará un error, pero &&, || normalmente puede existir en la estructura de juicio condicional de [[]]
Ejemplo: