shell et expect décomposer un PATH
Le
unbewusst.sein

comme j'ai peu de place sur mon iBook j'upload sur mon iMac, par scp,
les fichiers téléchargés.
sur mon iBook, comme sur mon iMac; ca n'intéresse que le dossier
~/Downloads
comme les versions d'OS ne sont pas les memes je fais qqc de la sorte :
$ scp -6 Downloads/dev/MacPorts-xyz.ext yt@iMac:Downloads/iBook/dev
donc; dans le path source "Downloads/dev" j'ajoute "iBook" cote iMac.
J'en viens à la question; comme je souhaite "automatiser" ca avec
expect, comme est-ce que je décompose le PATH en une array de dossier ou
je pourrais insérrer mon 'iBook'
fu2 : fr.comp.sys.mac.programmation
les fichiers téléchargés.
sur mon iBook, comme sur mon iMac; ca n'intéresse que le dossier
~/Downloads
comme les versions d'OS ne sont pas les memes je fais qqc de la sorte :
$ scp -6 Downloads/dev/MacPorts-xyz.ext yt@iMac:Downloads/iBook/dev
donc; dans le path source "Downloads/dev" j'ajoute "iBook" cote iMac.
J'en viens à la question; comme je souhaite "automatiser" ca avec
expect, comme est-ce que je décompose le PATH en une array de dossier ou
je pourrais insérrer mon 'iBook'
fu2 : fr.comp.sys.mac.programmation
j'ai trouvé ca en zsh :
#!/bin/zsh
apath="Downloads/dev/truc"
echo $apath
# -> Downloads/dev/truc
array=(${(s:/:)apath})
narray=($array[1] iBook ${array[2,-1]})
npath=${(j./.)narray}
echo $npath
# -> Downloads/iBook/dev/truc
reste à l'adapter à expect...
Guide avancé d'écriture des scripts Bash :
si des fois ...
Pour le coup du collage depuis le presse-papiers, est-ce vraiment
important de savoir si c'est Ctrl ou Alt qui a été pressé ?
... le champ a été complété au prompt ... tout baigne, non ?
--
Stéphane Moriaux avec/with iMac-intel
OK, je vais regarder en bash aussi.
+/- car certains caractères de controle sont interceptés.
euh; là; l'inteception sert quand on laisse l'utilisateur intéragir avec
ssh par exemple; ca revient à suspendre expect il faut donc un caractère
spécifique pour relancer expect quand l'utilisateur a fini d'interagir
en direct avec le shell.
je n'ai pas trouvé le code de tous ces caractères de controle.
mouais.
pas bien pigé les esplications...
en Tcl / expect ca donne :
#!/usr/bin/expect -f
set computer iBook
set lpath Downloads/dev/truc
set lpath_list [ split [lindex $lpath] "/" ]
set rpath_list [linsert $lpath_list 1 $computer]
set rpath [join $rpath_list "/"]
puts $rpath
# -> Downloads/iBook/dev/truc
voili voilou