OVH Cloud OVH Cloud

scripts

16 réponses
Avatar
jjlm
Bonjour,
Je débute sous Mac (OS X 10.4) depuis peu et j'ai du mal à comprendre
cette histoires de scripts...
Par exemple, j'ai mon scanner, agfa scanvise 1212u, reconnu par l'os sans
soucis. J'ai installé le programme trouvé sur le site d'agfa... Ca
fonctionne bien ! Le truc c'est que dans le paquet, y a des scripts. Je ne
sais pas ou les installés et comment on s'en sert. Nombreux sont les
logiciels à avoir des scripts, que l'on doit installer soi même... Et
là, c'est le flou pour moi. Merci de m'éclairer un peu.
Sinon je cherche un logiciel pour faire de belles pochettes de CD.

10 réponses

1 2
Avatar
blanc
jjlm wrote:

Par exemple, j'ai mon scanner, agfa scanvise 1212u, reconnu par l'os sans
soucis. J'ai installé le programme trouvé sur le site d'agfa... Ca
fonctionne bien ! Le truc c'est que dans le paquet, y a des scripts.


scripts shells ou Applescripts ?

Je ne
sais pas ou les installés et comment on s'en sert.


Si c'est des Applescripts, ils sont probablement accessibles depuis le
programme. Auquel cas il vaut peut-être mieux les laisser avec le dit
programme afin qu'il puisse les trouver.

Sinon un script (qu'il soit s shell ou AS) c'est comme une autre appli,
tu peux en général le mettre n'importe où.

Pour exécuter un AS, quand ce n'est pas depuis l'appli associée, il
suffit de double cliquer dessus.

Pour exécuter un s shell, on lance en général la commande depuis le
Terminal. Mais il y a aussi des moyens (que j'ai oubliés) de les lancer
par double-click

JPaul.


--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
frangi
(JPaul) writes:

jjlm wrote:

Par exemple, j'ai mon scanner, agfa scanvise 1212u, reconnu par l'os sans
soucis. J'ai installé le programme trouvé sur le site d'agfa... Ca
fonctionne bien ! Le truc c'est que dans le paquet, y a des scripts.


scripts shells ou Applescripts ?

Je ne
sais pas ou les installés et comment on s'en sert.


Si c'est des Applescripts, ils sont probablement accessibles depuis le
programme. Auquel cas il vaut peut-être mieux les laisser avec le dit
programme afin qu'il puisse les trouver.

Sinon un script (qu'il soit s shell ou AS) c'est comme une autre appli,
tu peux en général le mettre n'importe où.


Ceci étant dit, pour les shell scripts, il est intéressant de créer un
répertoire ~/bin dans lequel placer tous les scripts perso, puis de
mettre ce répertoire dans le PATH en inscrivant ces lignes dans le
fichier de configuration:
1) sous bash dans le fichier ~/.profile (ou sous zsh dans ~/.zshrc) :
PATH=$PATH:~/bin
export $PATH
2) sous tcsh dans ~/.tcshrc :
setenv PATH ${PATH}:~/bin
Pour exécuter un AS, quand ce n'est pas depuis l'appli associée, il
suffit de double cliquer dessus.

Pour exécuter un s shell, on lance en général la commande depuis le
Terminal. Mais il y a aussi des moyens (que j'ai oubliés) de les lancer
par double-click

JPaul.
Il suffit de le sauvegarder avec l'extension « .command » :

mon_script.command
--
====================================================
François GIRON -- Mac OS X 10.4.2 -- Tiger
http://homepage.mac.com/fgiron/fgaccueil/index.html

====================================================


Avatar
blanc
François Giron wrote:

Ceci étant dit, pour les shell scripts, il est intéressant de créer un
répertoire ~/bin dans lequel placer tous les scripts perso, puis de
mettre ce répertoire dans le PATH en inscrivant ces lignes dans le
fichier de configuration:
1) sous bash dans le fichier ~/.profile (ou sous zsh dans ~/.zshrc) :
PATH=$PATH:~/bin
export $PATH
2) sous tcsh dans ~/.tcshrc :
setenv PATH ${PATH}:~/bin


Tout à fait d'accord. C'est perso ce que j'ai fait également. Mais je ne
l'avais pas dit, histoire de ne pas noyer jjlm dans un flot
d'informations.

Pour exécuter un s shell, on lance en général la commande depuis le
Terminal. Mais il y a aussi des moyens (que j'ai oubliés) de les lancer
par double-click
Il suffit de le sauvegarder avec l'extension « .command » :

mon_script.command


Ultra simple en effet. Le moyen que j'avais utilisé autrefois était il
me semble plus compliqué.
Sinon je viens de trouver qu'il suffit de demander (dans "Lire les
informations") que le script soit ouvert avec Terminal.

Merci
JPaul.

--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE


Avatar
pere.noel
François Giron wrote:

Il suffit de le sauvegarder avec l'extension « .command » :
mon_script.command


et comment faire pour qu'un tel script ouvre un terminal est éxécute une
commande dans ce terminal ?
--
une bévue

Avatar
Nicolas.MICHEL
Une bévue wrote:

François Giron wrote:

Il suffit de le sauvegarder avec l'extension « .command » :
mon_script.command


et comment faire pour qu'un tel script ouvre un terminal est éxécute une
commande dans ce terminal ?


que veux-tu dire ?
Il le fait, c'est tout.

Un script shell est un fichier text, qui commence (idéalement) par
#!/bin/sh
ce fichier a des retours de chariots unix et il faut avoir les
permissions d'exécution pour l'exécuter.

Ensuite tu met dedant les commandes que tu veux et quand tu exécute le
script, il exécute les commandes les unes après les autres.

Pour que ce script soit double-clicable, comme indiqué, mettre le suffix
.command

C'est ça un script, c'est une liste de commandes.

Si tu veux voir un script shell, prends TextWrangler et ouvre /etc/rc
(pomme d).
Fais juste gaffe à ne pas le modifier, c'est le script de boot.

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas


Avatar
pere.noel
Nicolas MICHEL wrote:

que veux-tu dire ?
Il le fait, c'est tout.
[...]

C'est ça un script, c'est une liste de commandes.


oui, merci, ça je savais mais, ce que je souhaite, c'est un script
shell, ou ruby, qui lance une commande dans un terminal c'est-à-dire,
ouvre au préalable un terminal, ne serait-ce que pour y lire certains
messages.

mon utilisation :

j'ai un classe java que je lance par ruby de cette manière :

#!/usr/bin/ruby
system("java -cp build/classes com.kitfox.svg.app.SVGPlayer")

(par exemple)

mais je souhaite (debugg) pouvoir visualiser les System.out (ou
System.err) dans la fenêtre du terminal.



--
une bévue

Avatar
pere.noel
Une bévue wrote:

ouvre au préalable un terminal


je viens d'essayer ce script (run.command) :

#!/usr/bin/ruby
system("open /Applications/Utilities/Terminal.app & n")

il ouvre bien un terminal lequel m'affiche :
[m~/Desktop> /Users/yvon/Desktop/run.command; exit
[Opération terminée]


ce que je souhaiterait donc, c'est envoyer une ligne de commande après
et dans ce terminal ouvert, une commande du genre :

java -cp build/classes com.kitfox.svg.app.SVGPlayer

une seule autre commande me suffit à condition que le répertoire d'où
s'éxécute le script soit le répertoire où se trouve ce script
*.command...

je fais d'autres essais in between...
--
une bévue

Avatar
Nicolas.MICHEL
Une bévue wrote:

Une bévue wrote:

il ouvre bien un terminal lequel m'affiche :
[m~/Desktop> /Users/yvon/Desktop/run.command; exit
[Opération terminée]


Ok, en fait si tu double-clic ton script.command, comme tu le dis ici,
un terminal est ouvert puis la commande est lancée suivie d'exit.


ce que je souhaiterait donc, c'est envoyer une ligne de commande après
et dans ce terminal ouvert, une commande du genre :

java -cp build/classes com.kitfox.svg.app.SVGPlayer


Donc ce que tu veux c'est qu'il ne fasse pas le "exit", si je t'ai
compris ?
Pas sûr que ce soit modfiable.

Pourquoi ne pas ouvrir le terminal, puis taper le nom de ton script ?

une seule autre commande me suffit à condition que le répertoire d'où
s'éxécute le script soit le répertoire où se trouve ce script
*.command...


pour ça, la commande "cd" peut être insérée dans ton script.
Tout comme ta ligne "build", en fait. Ou alors tu peux te faire des
alias ou des sous-fonctions pour ne pas avoir à tout taper à chaque
fois.

Comme je ne fais pas de java, j'ai peur de ne pas comprendre les tenants
et les aboutissants de ce que tu fais...

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas

Avatar
pere.noel
Nicolas MICHEL wrote:

Pourquoi ne pas ouvrir le terminal, puis taper le nom de ton script ?


ben, c'est ce que je fais actuellement avec un menu contextuel j'ouvre
le "script" "Open Terminal Here" est puis là je fais un
bin/run-mon-script ...

donc ce que je veux éviter c'est d'avoir à ouvrir mon terminal, ça doit
être possible car justement le "script" "Open Terminal Here" ouvre bien
un terminal puis fait un cd dans le bon répertoire.

mais bon si je met script entre "" c'est parce qu'il y du binaire dans
ce psudo-script, ça exécute du perl :

[m~> perl -p -i -e 's#%(..)#chr(hex($1))#eg; s#/[^/]+$#/# if (not -d
$_)' ~/.OpenTerminalHere; cd "`cat ~/.OpenTerminalHere`"; car


qui me donne la main dans le répertoire choisi.
--
une bévue

Avatar
blanc
Une bévue wrote:

ce que je souhaiterait donc, c'est envoyer une ligne de commande après
et dans ce terminal ouvert, une commande du genre :


Dans le cas d'un script shell il suffit de terminer ton script
par l'une des commandes suivantes, suivant le shell
que tu utilises habituellement :

exec /bin/bash
exec /usr/bin/zsh
...

Cette commande (exec) remplace en fait ici l'exécution de ton script par
celle d'un nouveau shell, qui lui sera interactif.

Dans le cas d'un script ruby, je ne sais pas, mais il doit bien y avoir
une commande équivalente. Tiens nous au courant.

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

1 2