Usar 'alias' en script bash en OSX

Escribo algunas secuencias de commands y quiero que funcione en Linux y Mac. El problema es que "las implementaciones de sed, readlink, zcat, etc. son diferentes en OS X y Linux".

Así que probé ESTE enfoque, pero para mí el command alias no funciona como esperaba. Aquí está el script simple 'a':

  • ¿Cuál es el equivalente BSD del command de date de Linux para agregar restar días / semanas / meses a partir de una date determinada?
  • ¿Cómo copio el contenido de un disco completo en OSX 10.3?
  • ¿Cómo puedo salir de "bash"?
  • Terminal y bash no pueden comenzar con el error libiconv
  • ¿Cómo reiniciar el terminal antes de la ejecución del command?
  • automatice la captura de pantalla de guardado (ya en el portapapeles) en un file en bash
  • $cat a alias readlink=gnetworkinglink readlink --help 

    y el resultado …

     $./a readlink: illegal option -- - usage: readlink [-n] [file ...] 

    ¿Alguien podría explicarme qué hay debajo de la cortina y hay alguna solución?

    Usando OSX Yosemite 10.10.5 Es lo mismo con el bash incluido con el sistema operativo así como con "GNU bash, versión 4.3.42 (1) -lanzamiento (x86_64-apple-darwin14.5.0)"

  • ¿OS X continúa copyndo files cuando mi computadora portátil se queda dormida?
  • ¿Es posible cargar directorys individuales en iCloud? Desencadenado desde el buscador de Mac?
  • Muchas aplicaciones de audio cuelgan en High Sierra después de una actualización de Sierra
  • Presentación de diapositivas de Keynote con micrófono externo
  • Cambiar la duración de fotogtwigs fijos en iMovie 10.0.7
  • Launchd comienza el evento 40 segundos después?
  • One Solution collect form web for “Usar 'alias' en script bash en OSX”

    Los alias no se interpretan dentro de scripts de shell. De bash(1) :

     Aliases are not expanded when the shell is not interactive, unless the expand_aliases shell option is set using shopt) 

    Entonces, el script aún llama al readlink estándar que no sabe sobre --help .

    En lugar de establecer expand_aliases (que debe recordar para hacerlo en cada sistema y que puede provocar efectos secundarios inesperados en otros scripts), le recomendaría usar funciones en su lugar:

     function my_readlink() { greadlink "$@" } my_readlink --help 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).