
Estoy tratando de comprender un script de Shell ya escrito y encontré la siguiente línea.
while [ -h "$SOURCE" ];
Lo que necesito saber es el significado de-h
En cuanto a información adicional:
$FUENTE = ./mi-script.sh
Respuesta1
No es -h
una opción para la while
palabra clave, sino para la utilidad [
(y ). test
El significado de la opción se describe en el manual de test
, [
o de su shell (ya que estas son utilidades comúnmente integradas), consulte man test
.
Es unestándaropción para test
y [
y el estándar POSIXlo describeal igual que:
-h pathname
Verdadero si
pathname
se resuelve en una entrada de directorio existente para un enlace simbólico. Falso sipathname
no se puede resolver o sipathname
se resuelve en una entrada de directorio existente para un archivo que no es un enlace simbólico. Si el componente final depathname
es un enlace simbólico, ese enlace simbólico no se sigue.
En resumen, evalúaverdaderoSi el nombre de ruta dado es un enlace simbólico, su while
bucle se repetirá hasta que el valor de la variable SOURCE
ya no haga referencia a un enlace simbólico.