shell – ¿Qué significa el guión "-" al final de un comando?

Pregunta:

Dado el siguiente comando:

gzip -dc /cdrom/cdrom0/file.tar.gz | tar xvf –

¿Qué significa el - al final del comando? ¿Es algún tipo de marcador de posición?

Respuesta:

En este caso, significa 'entrada estándar'. Es usado por algún software (por ejemplo, tar ) cuando se requiere un argumento de archivo y necesita usar stdin en su lugar. No es una construcción de shell y depende del programa que esté utilizando. ¡Consulte la página de manual en caso de duda!

En este caso, la entrada estándar es el argumento de la opción -f . En los casos en los que - no es compatible, puede salirse con la suya usando algo como tar xvf /proc/self/fd/0 o tar xvf /dev/stdin (este último es ampliamente compatible con varios sistemas).

No confíe en que esto significa "entrada estándar" universalmente. Dado que no es interpretado por el shell, cada programa es libre de manejarlo como le plazca. En algunos casos, es una salida estándar o algo completamente diferente: en su significa 'iniciar un shell de inicio de sesión'. En otros casos, no se interpreta en absoluto. La memoria muscular me ha hecho crear bastantes archivos con nombre - porque alguna versión de algún programa al que estaba acostumbrado no entendía el guión.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım