Portar scripts de shell de Linux

2

El comando

shell$ ls . -R 

funciona en Linux pero no en OS X. Esto se debe a que las opciones de línea de comandos de OS X tienen que venir antes de los argumentos, y no solo en cualquier lugar como en Linux.

En particular, esto significa que cualquier script de shell que escriba en Linux no será portable a Mac.

Pregunta ¿Cómo puedo solucionar este problema en la Mac?

Puedo encargarme de escribir scripts de Linux portátiles, o puedo instalar MacPorts para que ls y otros comandos se seleccionen de MacPorts y no de los archivos binarios proporcionados por Apple. ¿Hay alguna manera mejor?

    
pregunta Ganesh 23.04.2011 - 22:34

1 respuesta

6

Respuesta corta: lo que más te convenga.

Si su fondo de Unix es principalmente de Linux, probablemente esté acostumbrado a los comandos de GNU. Como ha notado, pueden ser diferentes de otros sistemas operativos basados en Unix / Unix. Dependiendo de la complejidad de sus scripts, puede:

  • haga cambios simples (como usar ls -R . en lugar de ls . -R ), que funcionará en la mayoría (si no todos) del sistema basado en Unix / Unix y no solo en los basados en GNU,

  • o instale las utilidades GNU desde MacPorts si cree que habrá demasiados cambios complejos o si prefiere atenerse a los comandos GNU a los que ya está acostumbrado.

Si quieres tomarte un tiempo y escribir scripts portátiles, hazlo. Si crees que no vale la pena, entonces no lo hagas. Solo tenga en cuenta que no todos los sistemas basados en Unix / Unix usan GNU de forma predeterminada.

    
respondido por el user5077 24.04.2011 - 00:47

Lea otras preguntas en las etiquetas