0 votes

Créer un service avec automator, caffeinate

Tout d'abord, désolé pour mon anglais, je ne suis pas un locuteur natif.
Comme j'en ai un peu marre d'ouvrir Termninal et ^C Je veux créer un raccourci pour activer caffeinate -d sur mon Mac OS X 10.11
J'ai essayé un simple service Automator, mais avec mes compétences de débutant, ça ne marche pas.

Voici les paramètres :
J'ai choisi Service comme type de document

Bibliothèque->Utilitaires->Exécution du Shell script
Le service reçoit : no input
dans : any application
La coquille : /bin/bash
Passez l'entrée : to stdin

CAFFEINATECHECK=`ps | grep caffeinate | cut -d ' ' -f7,8`
if [ $CAFFEINATECHECK == 'caffeinate -d' ]; then
killall caffeinate
else
caffeinate -d
fi

Le problème est qu'un script aussi court continue à tourner sans réponse et que je dois l'arrêter au bout d'une minute.
J'espère que quelqu'un pourra me donner les conseils nécessaires

0voto

user3439894 Points 52496

Si vous essayez de vérifier si caffeinate est en cours d'exécution et l'arrêter si c'est le cas, ou le démarrer si ce n'est pas le cas, alors j'utiliserais :

#!/bin/bash

if [[ $(pgrep caffeinate) == "" ]]; then
    caffeinate -d &
else
    pkill caffeinate
fi

0 votes

C'est sûrement plus élégant que mon premier projet. Au début, votre code n'a pas fonctionné, il a continué à fonctionner comme le mien pendant plus longtemps qu'il ne devrait, mais je me suis souvenu avoir lu quelque part que Automator ne fonctionne pas bien avec '&' ET MAINTENANT cela fonctionne (le flux de travail s'est terminé en 0,218 secondes) en supprimant cela de l'équation. Merci beaucoup, j'apprécie énormément

0 votes

J'ai déjà fait l'expérience qu'un bashscript fonctionnel ne s'exécutait pas dans l'environnement Automator. Je me demande encore ce qui n'a pas permis à mon code de fonctionner correctement.

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