Je suis en train de créer un simple goutte Automator qui prendra le fichier style.less
est tombé dans et exécutez la commande suivante MOINS dessus:Ruby Command Line: Comment envoyer la commande CTRL-C via du texte dans la ligne de commande?
$ LESSC {DROPPED_FILE} --watch
qui surveillera le fichier que je suis tombé dans tout changement et mettra automatiquement à jour la sortie style.css
FYI: J'utilise LESS pour avoir des fichiers CSS écrits dynamiquement. Plus d'infos est here.
La gouttelette de base fonctionne très bien.
- Le fichier déposé est transmis dans une variable; Pour ce faire:
{MY_VAR}
. - Je lance un script shell dans le shell
/usr/bin/ruby
comme suitsystem("lessc {MY_VAR} --watch &")
cela fonctionne très bien mais je veux que le --watch soit arrêté au moment de quitter l'application Automator.
La documentation de LESS indique d'appuyer sur le raccourci CTRL-C dans le shell de ligne de commande pour abandonner le script.
Mais puisque je ne suis pas dans la fenêtre du terminal (la commande est passée en arrière-plan) je ne sais pas comment annuler le script.
Même après la fermeture du fichier automator.app, le fichier style.less
est toujours en cours de vérification des modifications et le fichier style.css
correspondant est toujours en cours de réécriture.
Donc, fondamentalement, je dois passer la commande d'abandon à la sortie du .app.
J'ai généré un simple pop-up qui, au clic, fermera l'application après en passant une autre commande à l'interpréteur de commandes du terminal.
C'est la partie où toutes mes tentatives n'ont pas réussi à arrêter le script.
Y a-t-il une fonction de ligne de commande qui agit comme si vous appuyiez sur la commande CTRL-C? Comment pourrais-je passer le meilleur à la coquille?
Merci d'avoir pris le temps de le faire. Une question rapide cependant, je suis en effet très nouveau à la ligne de commande Ruby, et jusqu'à présent, j'ai seulement été copier coller et suivre les instructions que je peux trouver en ligne, dans ce cas: Je ne sais pas vraiment comment exécuter la commande m'a donné .. comment puis-je entrer dans mon instance terminal en mode «ruby»? Aussi: Chaque ligne est-elle une commande séparée (comme dans I la première ligne et appuyez sur 'return' puis la 2ème ligne et ainsi de suite? – Jannis
Quand j'ai vu l'étiquette de rubis, j'ai supposé que vous vouliez écrire un script ruby. – johannes