Re: Bash : quelques petites questions...
Re,
On Fri, May 04, 2012 at 05:15:53PM +0200, David BERCOT wrote:
[...]
> >Mmmm... non, la construction avec $() (dollar + parenthèses) servait à
> >récupérer le résultat de la commande placée dedans. Pour protéger la
> >variable, il faut ${} (dollar + accolades). D'ailleurs, c'est ce que
> >tu fais ci-dessous :
> >
> >> ssh mon_serveur_esx "for monfile in
> >> \"/vmfs/volumes/4f33a50e-0762c7f9-9763-001a6436484a/s47z038 - Test
> >> d'installation De\"/*.vmdk ; do echo \"\${monfile}\" ; done"
>
> Certes, mais là, c'est différent, non ?
> Tu me proposes de remplacer $() par ${} ?
Non, non :-)
Faire comme tu faisais avec la variable était bon. Le $() n'était là
que pour « encapsuler » le 'ls' s'il était compliqué.
> >Il y a des espaces dans les noms de tes .vmdk ?
>
> En effet :-(
Comme l'a dit quelqu'un d'autre, pas bon en shell :-/
Je remarque aussi que le temps de chercher à quoter comme il faut
suffit souvent pour avoir un truc fonctionnel en Perl, mais ça ne
répond pas à la question ;)
> >Tu saurais coller un ls -l du répertoire qui les contient, avec le
> >path absolu ?
>
> Euh oui, mais pourquoi ?
Pour essayer de comprendre ce que tu veux faire, et voir la gueule du
répertoire sur lequel tu appliques ça.
> >@David : tu ne sais pas scripter le traitement des .vmdk, et
> >appeler le script par ssh, pour voir ce que ça donne ?> Tu veux
> >dire, faire un script sur le serveur et l'appeler ensuite >
> >directement ? C'est ce que m'a suggérer Basile en mp ;-)
Oui.
> Je pourrais, mais vu que j'ai plein de serveurs à traiter, ça ne me
> convient pas trop.
Pourquoi pas ?
Tu ne pourrais pas imaginer un push du script par scp avant de
l'exécuter, par exemple ?
Genre :
scp monScript.sh root@server:~/
ssh root@server ~/monScript.sh
Tu as toujours la bonne version sur ta machine administrative et celui
qui est "injecté" sur le serveur est jetable ; tu t'en fous après et
peux même le supprimer.
C'est juste une idée ;)
A+
--
JFS.
Reply to: