(Spécifique OSX)
Comme beaucoup d'autres que moi, je me retrouve souvent à lancer un processus dans le shell qui prend une minute ou deux (un gros svn commit par exemple). Pendant ce temps, j'alt-tab souvent et rafraîchis reddit / slashdot / wikipedia / peu importe. Ce serait formidable d'avoir quelque chose mis en place qui publie une notification de grognement lorsque le processus shell est terminé.
Dans mon monde idéal, cela fonctionnerait comme ceci: "Si un processus vient de sortir d'un onglet ouvert dans Terminal, publiez une notification de grognement."
Quelqu'un d'autre a quelque chose comme ça mis en place?
growlnotify
paramètres de notification d'applicationGrowl.prefPane
pour inclure un son de notification audio. Il n'est cependant pas modifiable en fonction de la commande que vous exécutez, comme cesay
serait le cas. Mais c'est beaucoup moins effrayant.Réponses:
Vous pouvez installer growlnotify pour ce faire.
$ ./some_program && growlnotify Title -m Message
Bien sûr, vous devez y penser avant d'exécuter votre commande. L'alternative (je ne sais pas comment y parvenir cependant) serait une notification Growl pour chaque commande, ce qui serait incroyablement ennuyeux.
Pour simplifier l'utilisation de growlnotify pour votre cas d'utilisation, modifiez
~/bash_profile
et ajoutez les éléments suivants:maintenant vous pouvez simplement
long your_command
(similaire àsudo
).Ctrl-A
positionne le curseur au début de la ligne, si vous (comme moi) tapez toujours la commande réelle en premier et devez ajouter le préfixe ensuite.Mon bash-fu est malheureusement insuffisant pour pouvoir ajouter la commande au
growlnotify
messagepar le commentaire de @ mankoff à cette réponse:
Vous pouvez simplement taper pendant l'exécution de la commande, elle est ensuite exécutée. J'ai créé la fonction suivante pour moi:
Utiliser comme
gn svn
.la source
Ce dont vous avez besoin, c'est d'
growlnotify
un programme CLI pour déclencher les notifications de grognement. Vous pouvez l'utiliser comme:Il a quelques boutons de plus avec lesquels vous pouvez jouer, utilisez
growlnotify -h
pour plus d'informationsla source
&&
et||
avoir des messages différents entre les états de réussite et d'échec, mais si l'on ne s'intéresse qu'à un message affiché après l'exécution de la commande, alors;;
c'est infaillible. =)Modifier la réponse de Daniel Beck si vous faites ce léger changement, c'est très agréable.
Ensuite, lorsque vous exécutez «long svn up», vous verrez le message «svn up complete».
Très bien si vous exécutez plusieurs scripts shell prenant beaucoup de temps en même temps.
la source
Maintenant qu'OSX 10.8 et versions ultérieures ont des notifications natives, voici comment j'atteins le même objectif via terminal-notifier :
$ brew install terminal-notifier
Ajoutez ceci à
~/.bash_profile
:Assurez-vous d'avoir fourni votre profil avec
. ~/.bash_profile
(non nécessaire pour les futures sessions de terminal), car votre profil est automatiquement généré lors de la création d'une session.Testez avec votre commande préférée, suivie de l'appel de fonction.
Les arguments de terminal-notifier peuvent encore s'améliorer, mais une tentative rapide de saisir la commande précédente pour passer à la fonction n'a pas réussi et cela me donne toutes les fonctionnalités dont j'ai besoin. À savoir, ajouter
;gn
pour obtenir une notification à la fin de tout processus de longue durée.la source
Utilisez Growlnotify .
la source
C'est un moyen de l'invoquer automatiquement pour les processus "de longue durée": http://hints.macworld.com/article.php?story=20071009124425468
Il se connecte à
$PROMPT_COMMAND
et signale la fin des processus prenant plus de 10 secondes. Vous devrez peut-être l'ajuster pour l'adapter à votre propre environnement et flux de travail (par exemple, ignorer la finless
ou l'invocation de l'éditeur), mais cela semble fonctionner assez bien dès le départ.la source
Je viens de fouiller un peu plus et j'ai trouvé une méthode simple pour cela. C'est un peu plus manuel que je ne le souhaiterais, mais voilà.
&& growlnotify -m "Message"
> à un long processus.Cela fonctionne pour moi en ce moment, mais je pourrais faire mieux, je pense.
la source
Solution OSX 10.9+ sans logiciel tiers:
Dans OSX 10.9 et supérieur, vous pouvez utiliser la commande AppleScript
display notification
pour afficher un grognement à partir du terminal comme suit:Si vous ne voulez pas taper tout cela à chaque fois, vous pouvez utiliser un
alias
:Exemple:
la source