traiter les espaces dans un nom de fichier (zsh)
Le
Une Bévue

le $1 d'un script en zsh, est un (futur) nom de fichier comportant des
espaces, par exemple "apt-get install converseen".
mon script transforme ce $1 en y préfixant la date et postfixant ".txt",
ce qui donne qqc du genre :
"/path/to/11-12-21--06-08--apt-get install converseen.txt".
appellons ça la variable $datedfile
mon script fait un (avec le /path/to) :
touch "$datedfile"
qui marche impec.
par contre, ensuite, le script est sensé ouvrir ce fichier dans Sublime
Text 2 par la commande :
/usr/bin/sublime-text-2 "${DATEDFILE}"
et là, Sublime Text 2 m'ouvre 3 fichiers :
11-12-21--06-08--apt-get
install
et
converseen.txt
si je protège les espaces par :
"'/path/to/11-12-21--06-08--apt-get install converseen.txt'"
^ ^
ou par :
""/path/to/11-12-21--06-08--apt-get install converseen.txt""
^^ ^^
ça ne change rien
je suppose qu'il faudrait plutôt faire qqc comme :
"/path/to/11-12-21--06-08--apt-get install converseen.txt"
^ ^
mais je pense qu'il doit y avoir un autre moyen plus simple ???
mais lequel ?
espaces, par exemple "apt-get install converseen".
mon script transforme ce $1 en y préfixant la date et postfixant ".txt",
ce qui donne qqc du genre :
"/path/to/11-12-21--06-08--apt-get install converseen.txt".
appellons ça la variable $datedfile
mon script fait un (avec le /path/to) :
touch "$datedfile"
qui marche impec.
par contre, ensuite, le script est sensé ouvrir ce fichier dans Sublime
Text 2 par la commande :
/usr/bin/sublime-text-2 "${DATEDFILE}"
et là, Sublime Text 2 m'ouvre 3 fichiers :
11-12-21--06-08--apt-get
install
et
converseen.txt
si je protège les espaces par :
"'/path/to/11-12-21--06-08--apt-get install converseen.txt'"
^ ^
ou par :
""/path/to/11-12-21--06-08--apt-get install converseen.txt""
^^ ^^
ça ne change rien
je suppose qu'il faudrait plutôt faire qqc comme :
"/path/to/11-12-21--06-08--apt-get install converseen.txt"
^ ^
mais je pense qu'il doit y avoir un autre moyen plus simple ???
mais lequel ?
je viens d'essayer au term avec :
"Bureau/to ti tu.txt"
^ ^
ça ne marche pas mieux, il doit y avoir une double ou triple
interprétation dans ST2 ???
Et si tu remplaces sublime-text-2 par autre chose ? Histoire de savoir
si c'est lui ou le shell.
--
Arnaud
http://blogs.glou.org/arnaud/
Il ne devrait pas.
Pas besoin des guillemets avec zsh.
Ce « sublime » a l'air hideux.
Très très bonne idée, merci !!!
J'essaie derechef !
;-)
BINGO !!!
c'est Sublime Text 2 qui est fautif, j'ai changé mon script accordingly :
=========================================================== #!/usr/bin/zsh
DATE=`date '+%y-%m-%d--%H-%M--'`
if [[ ${1} != '' ]]; then
DATEDFILE="${HOME}/Installations/${DATE}${1}.txt"
touch "${DATEDFILE}"
#/usr/bin/sublime-text-2 "${DATEDFILE}"
/usr/bin/gedit "${DATEDFILE}"
else
echo -n "${DATE}" | xclip -selection c
echo "'${DATE}' copied to the clipboard."
fi
exit 0
============================================================
en fait il y a un script bash :
$ cat /usr/bin/sublime-text-2
#!/bin/bash
/usr/lib/sublime-text-2/sublime_text $*
le responsable est donc $*
cqfd...
j'ai changé mon script et ça roule...
S'il y a ce genre de choses grotesques en évidence, tu devrais fuir ce
programme comme la peste, il y aura d'autres choses grotesques qui te feront
perdre des données.
ben ce script est le lanceur de l'appli, ce n'est pas très soigné, en
effet...
c'est juste un éditeur de texte...
je peux m'en passer, par exemple au profit de GEdit ???
j'édite essentiellement du zsh, ruby, html5, css, js, sql et php.
très rarement du C.
Ce qui m'étonne c'est qu'il y a une tonne d'éditeurs de texte pour
programmeurs sous Linux, il faut que tu en installes un exotique que
personne ne connaît !
Voir par là : http://doc.ubuntu-fr.org/programmation
Les plus connus : Geany, Bluefish, Jedit... Sans parler des éditeurs plus
ésotériques en mode console (vim, emacs...).
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Bah, comment je l'ai connu alors ?
Je l'utilise aussi sur Mac OS X en remplacement de TextMate qui n'était
plus suivi et vient de prendre une direction inattendue, de moi...
Je regarde...
Geany, je vais y jeter un oeil.
Bluefish, je l'ai installé sur xubuntu mais il n'apparaît pas dans le
menu, seulement dans l'éditeur de menu ???
JEdit, c'est écrit en Java, je connais, j'ai utilisé sur mac.
en cli j'utilise nano ou pico.
en IDE je ne connais pas "Code_Blocks"
--
« Au temps, c'est l'amour impossible qui résiste le mieux. »
(Monique Dussaussois)
"Moi ça marche" Il est dans le menu "Développement" avec comme intitulé
"Éditeur Bluefish" (en VF...)
Tu l'as validé dans l'éditeur de menu ?
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org