Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué significa if[X$1 = X]; entonces en shell?

¿Qué significa if[X$1 = X]; entonces en shell?

if[x$1 = x]; donde $1 representa el primer parámetro pasado al ejecutar el shell.

Es decir: si hay un archivo shell llamado test.sh, entonces el comando en ejecución es

./test.sh a b

donde a es el El primer parámetro b es el segundo parámetro $1, que representa la letra a.

En if[x$1 = x]; en realidad se juzgará que xa = x

El objetivo principal de escribir así es si se escribe como ["$1" = "$2" ] Cuando $1 y $2 están vacíos, se producirán errores de compilación en algunas versiones de bash, por lo que se utiliza el principio de desplazamiento de caracteres en el shell.

En pocas palabras, es una regla. Basta con mirar el código e ignorar X.