1 votos

Compatibilidad con versiones anteriores de los scripts scripts

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

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

Para que funcione he cambiado sus permisos y lo he hecho ejecutable.

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

2voto

"Funcionará" tiene aquí dos aspectos:

  • ¿funcionará la ejecución del 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. Así que sí, debería funcionar con versiones anteriores de bash para OSX. Lo haría (siempre y cuando Something se instala en /usr/local/bin ) incluso funcionan en versiones bastante antiguas del Bourne Shell ( /bin/sh ) en varios sistemas Unix.

0voto

klanomath Puntos 19587

En la mayoría (si no en todas) las instalaciones por defecto de OS X el script no funcionará (OK el script en sí mismo funciona pero el comando Algo 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/por comandos de terceros.

He aquí 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 (enlaces a una carpeta de aplicaciones posterior)
  • NMap
  • homebrew
  • ....

Para que se ejecute el script hay que instalar el ejecutable de la línea de comandos .../Algo que reside en una subcarpeta de /usr/local primero. El ejecutable instalado tiene que ser compatible con el sistema antiguo y todos los argumentos/opciones en el script mismo tienen que ser compatibles con el ejecutable de versión inferior (antiguo).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X