En el sistema operativo Unix , shar (una abreviatura de shell archive ) es un formato de archivo creado con la shar
utilidad Unix . Un archivo shar es un tipo de archivo autoextraíble , porque es un script de shell válido y, al ejecutarlo, se volverán a crear los archivos. Para extraer los archivos, generalmente solo se requiere el shell estándar de Unix Bourne sh .
Autor (es) original (es) | James Gosling |
---|---|
Desarrollador (es) | Varios desarrolladores comerciales y de código abierto |
Sistema operativo | Unix , similar a Unix , VMS , Windows |
Tipo | Mando |
Extensión de nombre de archivo | .shar |
---|---|
Tipo de formato | Formato de archivo , script de shell |
¿ Formato abierto ? | Sí [1] |
Tenga en cuenta que el comando shar no está especificado por la Especificación Única de Unix , por lo que no es formalmente un componente de Unix, sino una utilidad heredada.
Detalles
Si bien el formato shar tiene la ventaja de ser texto sin formato , presenta un riesgo debido a que es ejecutable ; [2] por esta razón, el formato de archivo tar más antiguo y más general suele ser el preferido incluso para transferir archivos de texto. GNU proporciona su propia versión de shar en la colección GNU Sharutils .
Los programas unshar se han escrito para otros sistemas operativos, pero no siempre son fiables; Los archivos shar son scripts de shell y teóricamente pueden hacer cualquier cosa que pueda hacer un script de shell (incluido el uso de características incompatibles de shells mejorados o similares), lo que limita su utilidad fuera del mundo Unix.
El inconveniente de los scripts de shell autoextraíbles (de cualquier tipo, no solo shar) es que pueden depender de una implementación particular de programas; archivos de shell creados con versiones anteriores de makeself , [3] por ejemplo, el instalador original de Unreal Tournament para Linux, no se ejecuta en bash 3.x debido a un cambio en la forma trap
en que se manejan los argumentos que faltan en el comando incorporado .
Historia y formatos similares
A James Gosling se le atribuye haber escrito la primera versión de la utilidad shar , [1] y también escribió un ejemplo temprano del concepto en forma de este sencillo script de shell: [4] [5] [6]
# Shar - Shell archivador AR = $ 1 turno para i hacen eco a - $ i eco "echo x - $ i " >> $ AR eco "cat> $ i << '!!! Funky Stuff'" >> $ AR cat $ i >> $ AR echo "! ¡Funky! ¡Cosas!" >> $ AR hecho
Una versión del mismo concepto, pero para el sistema operativo VMS , fue escrita en 1987 por Michael Bednarek del Melbourne Institute of Applied Economic and Social Research como un script DCL , VMS_SHAR.COM. [7] Esto fue posteriormente mantenido y ampliado por James A. Gray de Xerox , [8] y Andy Harper del King's College London . [9] [10]
El comando está disponible como un paquete separado para Microsoft Windows como parte de la colección UnxUtils de puertos Win32 nativos de utilidades comunes tipo GNU Unix. [11]
Ver también
- Lista de comandos de Unix
Referencias
- ^ a b "Utilidades GNU 'shar'" . gnu.org . Fundación de Software Libre . Consultado el 8 de diciembre de 2019 .
- ^ Apple (6 de junio de 1993). "Página de manual de Mac OS X shar (1)" . Manzana . Consultado el 7 de noviembre de 2009 .
- ^ "Hacer" trampa "comando arreglar" . Svn.icculus.org. 2000-11-20. Archivado desde el original el 14 de julio de 2012 . Consultado el 30 de agosto de 2011 .
- ^ uw-beave! jim (2 de abril de 1983). "Re: programa para separar archivos de distribución xlisp" . Grupo de noticias : net.sources . id-mensaje: bnews.uw-beave.451 . Consultado el 27 de marzo de 2017 .
- ^ "Shar: una explosión del pasado" . James Gosling: en Java Road . Archivado desde el original el 27 de marzo de 2017 . Consultado el 26 de marzo de 2017 .
- ^ Un script casi idéntico, 'paquete', se describe en "El entorno de programación de UNIX", Kernighan y Pike, 1984, en la página 97
- ^ Michael Bednarek (9 de junio de 1987). "shar (más o menos) para VMS" . Grupo de noticias : comp.os.vms . Usenet: [email protected] . Consultado el 9 de febrero de 2008 .
- ^ Jim Gray (8 de mayo de 1988). "VMS_SHARE V6.0" . Grupo de noticias : comp.os.vms . Usenet: 880508-073131-5929 @ Xerox . Consultado el 9 de febrero de 2008 .
- ^ Andy Harper (6 de julio de 1989). "VMS_SHARE versión 7" . Grupo de noticias : comp.os.vms . Usenet: [email protected] . Consultado el 9 de febrero de 2008 .
- ^ Andy Harper (5 de julio de 1995). "Anuncio de VMS_SHARE 8.5" . Grupo de noticias : vmsnet.sources.d . Usenet: [email protected] . Consultado el 9 de febrero de 2008 .
- ^ Puertos nativos Win32 de algunas utilidades GNU
enlaces externos
- - Manual de comandos de usuario de Linux
- Información sobre archivos shar (Carnegie Mellon)
- Sharutils de GNU