1 votos

¿Ejecutar el alias de zsh mediante un autómata?

Estoy usando zsh con oh-my-zsh en iTerm en macOS. Hay algunos alias definidos en mi .zshrc como yo lo 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 ser capaz de hacerlo desde cualquier lugar a través de un atajo de teclado.

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

He creado una acción "ejecutar script de shell" y elige " /bin/zsh/' de la lista de disponibles conchas.

Pero la ejecución de mi alias devuelve zsh:1: command not found.

Estoy en el mal shell? Pero echo $0 en iTerm me da -zsh.

¿Cómo puedo ejecutar mi alias, sin estar en el iTerm ventana? Cualquier enfoque va a hacer, Automator es la forma en que yo estoy tratando de lograrlo.

3voto

Michael Zhou Puntos 167

Automator se ejecuta en su propio entorno y no lee los archivos shell rc. El PATH está limitado a /usr/bin:/bin:/usr/sbin:/sbin . Ninguno del medio ambiente se exporta para su uso posterior. Puede definir la función en Run Shell Script y ejecutarlo de esta manera:

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

 deploy
 

Aunque esto es algo limitado.

0voto

Urs Puntos 111

He encontrado una solución sin automatizador;

En https://apple.stackexchange.com/a/136931/60854 He leído sobre teclas de acceso rápido en iTerm. Hice una tecla de acceso directo en Teclas> Tecla de acceso directo para llamar a iTerm al primer plano y otra en Perfil> Teclas> Asignaciones de teclas para ingresar una cadena deploy\n . Ahora presiono cmd-i cmd-o y aquí vamos.

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