me encontré con un script de shell que contiene una declaración como,
if [ $val -eq $? ]
¿Qué significa $?
aquí?
me encontré con un script de shell que contiene una declaración como,
if [ $val -eq $? ]
¿Qué significa $?
aquí?
$?
devuelve el estado del último comando terminado. El estado 0 le dice que todo terminó bien.
Además el signo $
es un símbolo especial - y en ese caso $val
extraer el valor que se mantenga por la variable val
Este es el valor del estado de salida del comando anterior. Esto es 0
en caso de éxito.
Lo que hace $? significa aquí?
$? es el último resultado de una salida de estado del ... 0 es por defecto "exitoso"
bash# ls *.*
bash# echo $?
bash# 0
bash# ls /tmp/not/existing/
bash# echo $?
bash# 2
$#
= número de argumentos. La respuesta es 3
.
[email protected]
= qué parámetros se pasaron. La respuesta es 1 2 3
.
$?
= fue el último comando exitoso. La respuesta es 0
que significa 'sí'.
Tal vez no debería molestarme, pero el hecho de que "0 == True" realmente moldea mis engranajes. – jmracek
Encontré que el link es muy útil y es la gran respuesta. Incluye claramente expresión con muestra.
ls *.*
o ls
produciría el mismo resultado. Significado muestra cero o más archivos con cualquier extensión en el directorio actual.
echo $?
mostraría el estado de salida. Si se muestra al menos un archivo desde el último comando, el estado de salida sería cero (éxito).
No exactamente correcto: 'ls *. *' Filtrará el contenido del directorio actual y mostrará solo el archivo y los directorios con el período en ellos; para los directorios mostrará el contenido (puede depender de la implementación). Consulte también el siguiente comando 'mkdir test && cd test && ls; echo" $? "' Devolverá 0. Sin embargo, 'mkdir -m -r wo_dir && cd wo_dir && echo" test "> 1.txt && ls; echo" $? " 'devolverá 1, con el mensaje' ls:.: Permiso denegado' aunque el archivo se haya creado. – artdanil
[aquí es su respuesta] [1], que puede coincidir con usted pregunta [1]: http://stackoverflow.com/questions/7101995/what-does-if-eq-0- mean-for-shell-scripts? answertab = active # tab-top –
posible duplicado de [¿Cuáles son las variables de shell de signo de dólar especiales?] (http://stackoverflow.com/questions/5163144/what-are-the-special -dollar-sign-shell-variables) – hammar