Esegui alias zsh tramite automator?

0

Sto usando zsh con oh-my-zsh in iTerm su macOS. Ci sono alcuni alias definiti nel mio .zshrc che uso spesso, come questo:

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

Per eseguire ciò, devo passare a iTerm ed eseguire l'alias. Ora mi piacerebbe essere in grado di farlo da qualsiasi luogo tramite un tasto di scelta rapida.

Ho letto che l'automatore è lo strumento di scelta.

Ho creato un'azione "esegui script di shell" e ho scelto "/ bin / zsh /" dall'elenco di shell disponibili.

Ma l'esecuzione del mio alias restituisce zsh:1: command not found .

Sono sulla shell sbagliata? Ma echo $0 in iTerm mi dà -zsh .

Come posso eseguire il mio alias senza essere nella finestra di iTerm? Qualsiasi approccio andrà bene, Automator è esattamente come sto cercando di realizzarlo.

    
posta Urs 26.05.2017 - 17:27
fonte

2 risposte

2

Automator viene eseguito nel proprio ambiente e non legge i file rc della shell. Il PERCORSO è limitato a /usr/bin:/bin:/usr/sbin:/sbin . Nessuno dell'ambiente viene esportato per un ulteriore utilizzo. È possibile definire la funzione in Run Shell Script ed eseguirla in questo modo:

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

 deploy

Anche se questo è un po 'limitato.

    
risposta data 26.05.2017 - 19:57
fonte
0

Ho trovato una soluzione alternativa senza automator;

Nel link ho letto di tasti di scelta rapida in iTerm. Ho creato un tasto di scelta rapida in Keys > Tasto di scelta rapida per chiamare iTerm in primo piano e un altro in Profile > Chiavi > Mappature chiave per inserire una stringa deploy\n . Ora premo cmd-i cmd-o e qui andiamo.

    
risposta data 01.06.2017 - 23:24
fonte

Leggi altre domande sui tag