¿Ejecutar zsh alias a través de automator?

0

Estoy usando zsh con oh-my-zsh en iTerm en macOS. Hay algunos alias definidos en mi .zshrc que uso a menudo, como este:

deploy(){
 cd ~/Path/To/My/Project;
 build ...;
 rsync ...;
}

Para ejecutar esto, tengo que cambiar a iTerm y ejecutar el alias. Ahora me gustaría poder hacerlo desde cualquier lugar a través de una tecla de acceso rápido.

He leído que automator es la herramienta de elección.

Creé una acción "ejecutar shell script" y elegí '/ bin / zsh /' de la lista de shells disponibles.

Pero ejecutando mi alias devuelve zsh:1: command not found .

¿Estoy en la cáscara incorrecta? Pero echo $0 en iTerm me da -zsh .

¿Cómo puedo ejecutar mi alias sin estar en la ventana de iTerm? Cualquier enfoque servirá, Automator es exactamente como lo estoy tratando de lograr.

    
pregunta Urs 26.05.2017 - 17:27

2 respuestas

2

Automator se ejecuta en su propio entorno y no lee los archivos de shell rc. El PATH está limitado a /usr/bin:/bin:/usr/sbin:/sbin . Ninguno del medio ambiente se exporta para su uso posterior. Podría definir la función en Ejecutar el script de shell y ejecutarla así:

 deploy () {
 cd ~/Path/To/My/Project;
 build ...;
 rsync ...;
 }

 deploy

Aunque esto es algo limitado.

    
respondido por el fd0 26.05.2017 - 19:57
0

Encontré una solución alternativa sin automatizador;

En enlace leí sobre teclas rápidas en iTerm. Hice una tecla de acceso rápido en Teclas > Tecla de acceso rápido para llamar a iTerm al primer plano y a otra en Perfil > Teclas > Asignaciones clave para ingresar una cadena deploy\n . Ahora presiono cmd-i cmd-o y aquí vamos.

    
respondido por el Urs 01.06.2017 - 23:24

Lea otras preguntas en las etiquetas