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':

  • Comando Screencapture Terminal y luego regresar a la secuencia de commands de Shell
  • Monte .sparseimage desde .bash_profile
  • ¿Cómo usar rsync a través de ssh con direcciones IPv6 LLA (dirección local de enlace) en OSX?
  • ¿Por qué recibo el command no encontrado aunque la ruta al command existe en la variable PATH?
  • ¿Qué es DELUXE-USR-LOCAL-BIN-INSERT en el file ~ / .profile?
  • Salida de tubería de grep a una variable
  • $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)"

  • La utilidad de disco se cuelga constantemente en Mac 10.7.1 Lion
  • La vista de list en Finder está rota
  • ¿Cómo decide OS X cuándo cambiar los procesadores charts?
  • Eliminar definitivamente un post de Correo
  • ¿Cómo cambio los accesos directos de Control de Misión de la línea de command?
  • Controlador Xerox 3117 para OS X Yosemite
  • 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).