Declaración de juicio condicional de Shell

Juicio condicional

1. Juzgar según el proceso del tipo de archivo

Opciones de prueba efecto
-b archivo Determine si el archivo modificado existe y si es un archivo de dispositivo de bloque (el archivo de dispositivo de bloque es verdadero)
-c archivo Determine si el archivo modificado existe y si es un archivo de dispositivo de caracteres (verdadero si lo es)
(De uso común) -d archivo Determine si el archivo modificado existe y si es un archivo de directorio (verdadero si lo es)
(De uso común) -e archivo Determine si el archivo modificado existe (existente es verdadero)
(De uso común) -f archivo Determine si el archivo modificado existe y si es un archivo normal (verdadero si lo es)
-L archivo Determine si el archivo modificado existe y si es un archivo de enlace simbólico (verdadero si lo es)
-p archivo Determine si el archivo modificado existe y si es un archivo de canalización (verdadero si lo es)
-s archivo Determine si el archivo modificado existe y si está vacío (verdadero si lo está)
-S archivo Determine si el archivo modificado existe y si es un archivo de socket (verdadero si lo es)

2. Juzgar según los permisos de archivo

Opciones de prueba efecto
(De uso común) -r archivo Determine si el archivo modificado existe y si el archivo tiene permiso de lectura (verdadero si lo hay)
(De uso común) -w archivo Determine si el archivo modificado existe y si el archivo tiene permiso de escritura (verdadero si lo hay)
(De uso común) -x archivo Determine si el archivo modificado existe y si el archivo tiene permiso de ejecución (verdadero si lo hay)
-u archivo Determine si el archivo modificado existe y si el archivo tiene permiso SUID (verdadero si lo hay)
-g archivo Determine si el archivo modificado existe y si el archivo tiene permisos SGID (verdadero si los hay)
-k archivo Determine si el archivo modificado existe y si el archivo tiene permiso SBit (verdadero si lo hay)

3. Comparar entre dos archivos

Opciones de prueba efecto
Archivo a -nt archivo b Determine si la hora de modificación del archivo a es más reciente que la del archivo b (verdadero si es nuevo)
Archivo a -ot archivo b Determine si la hora de modificación del archivo a es anterior a la del archivo b (verdadero si es anterior)
Archivo a -ef archivo b Juzgue si el número de Inode del archivo ay el archivo b es el mismo, puede comprender si los dos archivos son el mismo archivo. Esta es una buena forma de juzgar los enlaces duros.
  • ps: enlace suave, eliminar el original |, también se elimina el enlace suave. Enlace fijo, los números de Inode de los dos archivos son los mismos

4. Comparación entre dos números enteros

Opciones de prueba efecto
Entero a -eq entero b Determina si el entero a es igual al entero b (igual es verdadero)
Entero a -ne entero b Determine si el entero a y el entero b no son iguales (no son iguales a verdadero)
Entero a -gt entero b Determine si el entero a es mayor que el entero b (mayor que es verdadero)
Entero a -lt entero b Determine si el entero a es menor que el entero b (menor que es verdadero)
Entero a -ge entero b Determine si el entero a es mayor o igual que el entero b (mayor o igual que verdadero)
Entero a -le entero b Determine si el entero a es menor o igual que el entero b (menor o igual que verdadero)

5. Juicio de cuerda

Opciones de prueba efecto
-z cadena Determine si la cadena está vacía (devuelva verdadero si está vacía)
-n cadena Determine si la cadena no está vacía (no vacía devuelve verdadero)
Cadena a == cadena b Determine si la cadena a es igual a la cadena b (igual a devolver verdadero)
Cadena a! = Cadena b Determine si la cadena a y la cadena b no son iguales (no son iguales para devolver verdadero)

6. Juicio de múltiples condiciones

Opciones de prueba efecto
Juez a -a juez b Y lógico, el juicio ay el juicio b están establecidos, el resultado final es verdadero
Juez a -o juez b O lógico, si se establece uno de los juicios a y b, el resultado final es verdadero
! juicio Negación lógica, revertir el juicio original

7. Dos formatos de juicio

test 参数 文件路径			文件判断

[ 参数 文件路径 ]				文件判断

[ 整数a 参数 整数b ]			两数之间判断

[ 参数 “$变量名” ]			判断字符串
Ps:	[ -d /root ] && echo "yes" || echo "no"

	&&	左边为真则执行右边

	||	左边为否则执行右边

	[ ]括号要留空,任何数,变量,不能紧贴括号

	$变量名 	代表值	变量名	代表变量

Supongo que te gusta

Origin blog.csdn.net/weixin_43272542/article/details/109553283
Recomendado
Clasificación