Establecer la variable Bash como icono en osascript -e Mostrar cuadro de dialog con icono

Tengo un script bash que utiliza un código osascript -e para un dialog. Quiero usar un ícono personalizado en ese dialog. Sin embargo, no entiendo cómo codificarlo, así que es completamente portátil para que sea ejecutable sin importar dónde lo ubique un usuario en su sistema de files.

 cd "$(dirname "$0")/../../" CONTENTS="$PWD" export ICNSPATH="$CONTENTS/Resources/path/to/icon/Myicon.icns" osascript -e 'tell application id "com.apple.systemuiserver"' -e 'display dialog "Lorem ipsum dolor sit amet." buttons {"Cancel", "Okay"} with icon '$ICNSPATH' as alias' -e 'end tell' 

Actualmente, la única manera en que puedo hacer que funcione con un ícono personalizado es codificándolo y no creo que sea una buena idea.

  • Ejecutar un file .sh pero después de una nueva RUTA no es visible en el shell
  • ¿Cómo hacer una list de los UUIDS de la interfaz de networking?
  • bash en iTerm2: cómo registrar variables como $ TERM_SESSION_ID en el historial de commands
  • Vista previa de la image de la tubería
  • Procesamiento distribuido de Apple Compressor para Autodesk Maya
  • ¿Cómo puedo recostackr todas mis notas y aspectos destacados de iBooks?
  • Las soluciones deben ser sin complementos y deben funcionar en Mac OSes 10.6 – 10.10.

    Apreciar cualquier ayuda que puedas prestar.

  • Configure una Mac para ejecutar la aplicación OSX (browser no) en modo kiosco puro
  • Deshabilitar el icono de la barra de menu de Google Play Music
  • ¿Detecta el tipeo en la aplicación Messeges usando applescript?
  • ¿Por qué el ícono del Dock de Preferences del sistema muestra una insignia?
  • ¿Cómo puedo extraer los * .icns del cuadro de dialog Obtener información?
  • Bash o sh no pueden ejecutar ningún file binary
  • One Solution collect form web for “Establecer la variable Bash como icono en osascript -e Mostrar cuadro de dialog con icono”

    Lo que siempre funcionará es codificar el file de icono con base64 -b 64 (para mantener las líneas lo suficientemente cortas), includelo en su script de shell como un documento aquí y decodificarlo sobre la marcha.

    Para crear una versión codificada en base64 de su file de icono, ejecute

     base64 -b 64 -i path/to/icon/Myicon.icns > myicon.base64 

    (Esto solo debes hacer una vez).

    A continuación, abra su script de shell en su editor e inserte myicon.base64 (que podría ser bastante grande) en el lugar correcto

     ... ICNSPATH=${TMPDIR:-/tmp}/icon.$$.icns base64 -D -o $ICNSPATH <<"END_OF_ICON" ** replace with content of myicon.base64 ** END_OF_ICON osascript -e '... with icon '$ICNSPATH' as alias' # write full command here rm -f $ICNSPATH 

    El script final se verá como el siguiente

     ... ICNSPATH=${TMPDIR:-/tmp}/icon.$$.icns base64 -D -o $ICNSPATH <<"END_OF_ICON" aG93IHRvIGNvZGUgaXQgc28gaXQncyBjb21wbGV0ZWx5IHBvcnRhYmxlIHNvIGFz ... eSBwdXQgaXQgaW4gaGlzIGZpbGUgc3lzdGVtLgoK END_OF_ICON osascript -e '... with icon '$ICNSPATH' as alias' rm -f $ICNSPATH 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).