Shell Script pour lancer TextEdit
clandestino
Membre
Salut,
Je m'amuse depuis quelques temps à découvrir le coté UNIX de Mac OS X. Suivant les documents que l'on veut éditer (depuis le terminal) il est parfois plus confortable d'ouvrire celui-ci dans TextEdit plutot que dans VI, nano (ou pico)...
J'ai donc fait un petit script (1 ligne lol) qui me permet de lancer TextEdit avec le fichier que je veux quand je tape la commande TextEdit nomFichier
Il marche bien, mais qu'une fois. Le problème c'est que ca va me créer un process de TextEdit a chaque fois que je vais lancer la commande et ca, OS X il aime moyennement pour les applic Cocoa (j'en sais pas plus à ce sujet, si qq'un veut en parler c bienvenu).
L'erreur quand je lance plus d'une fois (TextEdit est quand meme lancé pour la Nème foi à ce moment la):
[tt]2007-04-20 10:32:35.424 TextEdit[2633] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0x3103, name = 'com.apple.TextEdit.ServiceProvider'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2007-04-20 10:32:35.427 TextEdit[2633] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (com.apple.TextEdit.ServiceProvider)
[/tt]
Se que j'aurais besoin c'est d'envoyé au 1er process de TextEdit le fichier que je veux ouvrir.
Je peux récupérer l'id du process avec la commande:
ps -x | grep TextEdit | grep -v grep | awk '{print $1}'
mais après pour lui envoyer le fichier je coince.
Si qq'un sait comment on fait, se serait super cool!
Je m'amuse depuis quelques temps à découvrir le coté UNIX de Mac OS X. Suivant les documents que l'on veut éditer (depuis le terminal) il est parfois plus confortable d'ouvrire celui-ci dans TextEdit plutot que dans VI, nano (ou pico)...
J'ai donc fait un petit script (1 ligne lol) qui me permet de lancer TextEdit avec le fichier que je veux quand je tape la commande TextEdit nomFichier
<br />#!/bin/bash<br />/Applications/TextEdit.app/Contents/MacOS/TextEdit $1 &<br />
Il marche bien, mais qu'une fois. Le problème c'est que ca va me créer un process de TextEdit a chaque fois que je vais lancer la commande et ca, OS X il aime moyennement pour les applic Cocoa (j'en sais pas plus à ce sujet, si qq'un veut en parler c bienvenu).
L'erreur quand je lance plus d'une fois (TextEdit est quand meme lancé pour la Nème foi à ce moment la):
[tt]2007-04-20 10:32:35.424 TextEdit[2633] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0x3103, name = 'com.apple.TextEdit.ServiceProvider'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2007-04-20 10:32:35.427 TextEdit[2633] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (com.apple.TextEdit.ServiceProvider)
[/tt]
Se que j'aurais besoin c'est d'envoyé au 1er process de TextEdit le fichier que je veux ouvrir.
Je peux récupérer l'id du process avec la commande:
ps -x | grep TextEdit | grep -v grep | awk '{print $1}'
mais après pour lui envoyer le fichier je coince.
Si qq'un sait comment on fait, se serait super cool!
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Aussi peut être vaudrait-il mieux passer par AppleScript ...
.
Yep, "open -a TextEdit ..."
je pensais pas qu'on pouvait spécifier une applic pour open...
Merci