script loop for escape bash shell scripting special-characters

bash - loop - Significado de $? en scripts de shell



for loop in unix shell script (7)

Da salida al resultado del último comando ejecutado de Unix

0 implies true 1 implies false

Que hace

echo $?

significa en la programación Bash?



Este es el estado de salida del último comando ejecutado.

Por ejemplo, el comando true siempre devuelve un estado de 0 y false siempre devuelve un estado de 1 :

true echo $? # echoes 0 false echo $? # echoes 1

Del manual: (accesible llamando a man bash en tu shell)

$? Se expande al estado de salida de la tubería de primer plano ejecutada más recientemente.

Por convención, un estado de salida de 0 significa éxito y un estado de devolución distinto de cero significa falla. Obtenga más información sobre los estados de salida en wikipedia .

Hay otras variables especiales como esta, como puede ver en este manual en línea: https://www.gnu.org/s/bash/manual/bash.html#Special-Parameters


Tiene el último código de estado (valor de salida) de un comando.



ps devuelve el valor de salida del último comando ejecutado. echo $? imprime ese valor en la consola. cero implica una ejecución exitosa, mientras que los valores distintos de cero se asignan a varios motivos de falla.

Por lo tanto, al crear scripts; Tiendo a usar la siguiente sintaxis

if [ $? -eq 0 ]; then # do something else # do something else fi

La comparación se debe hacer en iguales a 0 o no es igual a 0


echo $? - Da el ESTADO DE SALIDA del comando ejecutado más recientemente . Este ESTADO DE SALIDA sería muy probablemente un número con CERO implicando Éxito y cualquier valor NON-ZERO indicando Fracaso

? - Este es un parámetro / variable especial en bash.

ps - Da el valor almacenado en la variable "?".

Algunos parámetros especiales similares en BASH son 1,2, *, # (Normalmente se ven en el comando echo como $ 1, $ 2, $ *, $ #, etc.).

Espero que esto ayude....