¿Existe un sistema de paquetes (piensa en npm
, cpan
o incluso homebrew
) que sea adecuado para scripts de shell?
Respuestas
¿Demasiados anuncios?Los scripts de shell no necesitan mucho empaquetado, por lo que la mayoría de las personas utilizan un sistema de control de origen para esto. Hay docenas de opciones, pero yo empezaría con github y volvería con una pregunta más detallada una vez que github / el sistema de control de origen se rompa bajo la presión del volumen de tus scripts o la complejidad de la situación.
Como está, sólo podemos adivinar cuáles son tus verdaderos requisitos, ya que los tres ejemplos que mencionas se ejecutan de forma nativa en OS X y puedes crear tus propios paquetes siguiendo cada receta si prefieres utilizarlos.
Para el alojamiento en internet, podrías usar fácilmente GitHub ya que ellos alojan archivos para descarga o podrías subir los archivos a Amazon S3 y muchos otros servicios de alojamiento en la nube que sirven archivos de forma gratuita o económica. Por ejemplo, Amazon permite 5 GB de espacio gratuito y 20,000 hits al mes antes de que necesites pagarles algo. Dropbox tampoco tiene un límite práctico en el número de hits, pero ofrece menos espacio inicialmente si te inscribes en una cuenta nueva con ellos.
Si necesitas control de revisión tradicional, puedes usar fácilmente GitHub incluso si no sabes git
a través de su aplicación gratuita para Mac. Lo he hecho en https://github.com/tjluoma?tab=repositories.
Si solo quieres compartir, coloca tus scripts en Dropbox. Por ejemplo, guardo el mío en ~/Dropbox/bin/ que he agregado a mi $PATH
para que estén disponibles en todos mis Macs. Ve el archivo en Dropbox.com y elige la opción de compartir, luego elige 'Twitter' para obtener la URL corta como https://db.tt/oOYTUPB4 o la más larga como https://www.dropbox.com/s/8l906xc39uo2cbc/dock.sh
La ventaja (o desventaja, supongo) de la versión de Dropbox es que siempre compartirá la versión más reciente del script sin que tengas que realizar ningún tipo de procedimiento oficial de check-in.
La principal desventaja del método de Dropbox es que la URL lleva a una página web para el script, mientras que la versión directa (o "raw") del script se puede encontrar agregando ?dl=1
a la URL, como por ejemplo https://www.dropbox.com/s/8l906xc39uo2cbc/dock.sh?dl=1