GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué significa `:-` en un script de Shell?

Esta pregunta ya tiene respuesta aquí :Cómo se evalúan las variables entre llaves

(1 respuesta)
Cerrado hace 4 años.

Vi esto al final de un impresionante script de shell, pero no puedo entender el inicio de sesión aquí porque creo que se está quedando corto para un comando más largo.

spark ${@:-`cat`}

Esto aparece al final de este script. ¿Alguna idea?

+ Marcas para alguien que lo extienda a un segmento completo de código, incluso si es más lento (Mejor como explicación)

Respuesta aceptada:

Es el primer caso especial de sustitución de parámetros en man bash :

${parameter:-word}
Usar valores predeterminados. Si parameter no está configurado o es nulo, la expansión de word es sustituido. De lo contrario, el valor de parameter es sustituido.

En el caso que mencionó, el usuario proporcionó argumentos en la línea de comando y se usarán, o se le pide al usuario que los ingrese en la entrada estándar después.


Linux
  1. ¿Qué significa [correo electrónico protegido] en un script de shell?

  2. ¿Qué significa set -e en un script bash?

  3. ¿Qué pasa si [[ $? -ne 0 ]]; significa en .ksh

  4. ¿Qué significa la sintaxis |&en lenguaje shell?

  5. ¿Qué significa #define X X?

¿Qué significa chmod 777?

¿Qué significa ser "sh compatible"?

¿Qué es Shebang en Linux Shell Scripting?

No hay variable X11 DISPLAY - ¿qué significa?

¿Qué significa matar -3?

¿Qué hace % en las cadenas de shell de Linux?