Compatibilidad con versiones anteriores de los scripts de shell

1

Utilizo un archivo .command para iniciar un script de shell básico en la forma:

#!/bin/bash
-- this simply starts Something at /usr/local/bin/Something
myLittleOneLineScript

Para hacerlo funcionar, cambié sus permisos y lo hice ejecutable.

La pregunta es: ejecuto la última versión de Mac OS X y este script funciona perfectamente. Pero: ¿funcionará en cualquier versión anterior de OS X?

    
pregunta Ian Bell 26.01.2016 - 11:49

2 respuestas

2

"Funcionará" tiene dos aspectos aquí:

    ¿
  • ejecutará el trabajo binario?
  • es bash capaz de ejecutar el script como tal.

El ejemplo parece bastante básico en lo que respecta a los scripts de shell. Entonces sí, debería funcionar con versiones anteriores de OSX de bash. Lo haría (siempre y cuando Something esté instalado en /usr/local/bin ) incluso funcionaría en versiones bastante antiguas de Bourne Shell ( /bin/sh ) en varios sistemas Unix.

    
respondido por el nohillside 26.01.2016 - 12:29
0

En la mayoría de las instalaciones predeterminadas (si no todas) de OS X, el script no funcionará (OK, el script en sí mismo funciona, pero el comando Something no lo hace). La carpeta / usr / local / bin simplemente no existe.

La carpeta / usr / local y todas las carpetas subsiguientes están reservadas o designadas para / a comandos de terceros.

Aquí hay algunos ejemplos de herramientas de línea de comandos instaladas allí por proveedores de aplicaciones de terceros:

  • MySQL Community Edition (Oracle)
  • VirtualBox (Oracle)
  • TextWrangler / BBEdit (se vincula a una carpeta de aplicación posterior)
  • NMap
  • homebrew
  • ....

Para ejecutar el script, primero debe instalar el ejecutable de la línea de comandos ... / Something que se encuentra en una subcarpeta de / usr / local. El ejecutable instalado debe ser compatible con el sistema anterior y todos los argumentos / opciones en el script en sí deben ser compatibles con el ejecutable de versión inferior (antiguo).

    
respondido por el klanomath 26.01.2016 - 12:35

Lea otras preguntas en las etiquetas