2 votes

Rediriger la sortie du terminal vers la notification, si la sortie contient une phrase spécifique?

J'ai une longue série de commandes que j'exécute de manière semi-régulière. Parfois, l'exécution des commandes nécessite une saisie de l'utilisateur via un mot de passe ou d'autres réponses et parfois des informations sont affichées au cours de ces commandes que je dois copier dans un journal ailleurs. Cependant, le script peut généralement s'exécuter sans surveillance alors qu'il effectue ses longues tâches.

J'ai découvert des dizaines de scripts et d'outils qui vous indiqueront lorsque votre commande a fini de s'exécuter. Mais ce n'est pas ce dont j'ai besoin. Et j'ai trouvé des outils qui devraient pouvoir convertir des sorties variables en une notification, mais il n'y a aucune documentation expliquant comment faire cela.

Donc, si je voulais recevoir une notification sous forme de bannière via le Centre de notifications chaque fois que l'expression "espace chat" était affichée pendant l'exécution de ma commande, comment pourrais-je déclencher l'envoi de cette notification?

1 votes

Bonne question! (+1) Je n'ai pas de réponse pour le moment, mais je suis assez intéressé pour commencer à chercher car c'est quelque chose que je veux aussi faire. D'après ce que j'ai lu jusqu'à présent, il existe 2 types de notifications : à distance et locales. De plus, l'accès au NotCtr se fait via le service de notifications push d'Apple (documentation ici). Il semble y avoir de l'activité sur SO pour les APN, donc ça vaut la peine de regarder.

0 votes

Il s'avère qu'il y a quelques questions et réponses sur ce sujet. Voici une qui était utile et informative

3voto

Si je vous comprends correctement, vous pouvez accéder à la sortie de vos scripts. Ensuite, vous pouvez faire quelque chose comme ceci :

#!/bin/bash

# Remplacez le echo par votre script
echo "space cats" | grep "space cats"

if [[ "$?" -eq "0" ]]; then
    osascript -e 'display notification "Attention!" with title "Notification" subtitle "J'ai trouvé des chats de l'espace" sound name "Submarine"'
fi

1 votes

Adorez-le (+1). Une alternative à osascript pourrait être l'action Exécuter un script Shell de l'application Automator. Il semble que osascript soit invoqué par un script shell, tandis que l'action Exécuter un script Shell invoque un script shell. Compte tenu de la pénurie de ressources qu'Apple a consacrée à osascript, il semble que leur forte préférence soit pour que les développeurs utilisent une approche "centrée sur Apple" (et donc moins ouverte) en matière de programmation shell. Un peu hypocrite de leur part peut-être, étant donné qu'ils vantent leurs racines Unix quand cela correspond à leur récit.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X