#1 Le 22/12/2012, à 13:40
- omnimax
ZSH une fonction de malade !!!!
Dans zsh ce qui serait trop cool c'est
cp -R rec[tabulation]
qui nous donnerait
cp -R /home/greg2007/documents/recours.pdf
cp -R /home/greg2007/images/recherche.jpg
cp -R /usr/share/themes/rec.targz
...
et il suffirait de valider le choix comme on le fait habituellement avec la touche tab
Avec l'indexation native des fichiers via zeitgeist dans les nouveaux ubuntu ou bien avec un simple locate il doit bien avoir moyen de faire cela, non?
J'ai cherché sur le net, rien à ce sujet alors si quelqu’un pouvait me dire comment faire ce serait top!
Imaginer un peu le truc de fou
libreoffice cal[tab]
libreoffice /home/greg2007/documents/calc.ods
Là le terminal serait hyper puissant !
Dernière modification par greg2007 (Le 22/12/2012, à 13:44)
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#2 Le 22/12/2012, à 14:01
- pingouinux
Re : ZSH une fonction de malade !!!!
Bonjour,
L'option -R de cp n'est utile que pour copier récursivement un répertoire.
En bash, on peut faire ceci :
shopt -s globstar
cp **/rec* repertoire_destination
Hors ligne
#3 Le 22/12/2012, à 15:58
- omnimax
Re : ZSH une fonction de malade !!!!
oui pour le R tu as raison.
Par contre avec ton option, tu ne sais pas trop ce que tu copies car si tu as deux fichiers commencant par rec, ils seront tous les deux copiés vers ta destination.
Il faudrait avoir le choix comme avec tabulation.
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#4 Le 22/12/2012, à 16:09
- pingouinux
Re : ZSH une fonction de malade !!!!
Par contre avec ton option, tu ne sais pas trop ce que tu copies car si tu as deux fichiers commencant par rec, ils seront tous les deux copiés vers ta destination.
C'est exact. Tu peux alors faire ceci :
for fic in **/rec*
do
read -p "Copier $fic ? (o/n) " reponse
[ "$reponse" = "o" ] && cp "$fic" repertoire_destination
done
Hors ligne
#5 Le 22/12/2012, à 17:03
- omnimax
Re : ZSH une fonction de malade !!!!
Je vais mettre cela en forme dans mon .zshrc mais à prioiri ta fonction me semble pas mal. je vais essayer de l'étendre pour plusieurs commandes comme avec le libreoffice de mon premier post.
merci
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#6 Le 23/12/2012, à 09:43
- nesthib
Re : ZSH une fonction de malade !!!!
@greg2007 : avec zsh (mais aussi avec bash) tu peux écrire tes propres règles de complétion. Un exemple parmi tant d'autres.
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 23/12/2012, à 13:27
- omnimax
Re : ZSH une fonction de malade !!!!
merci Netshib, je viens d'essayer d'analyser ta page...ouf c'est ardu
j'ai déja essayé de copier la dernière fonction hello()... dans mon .zshrc pour voir ce qu'elle racontait mais à mon avis il manque des parenthèse à un endroit.
j'ai essayé de comprendre et j'ai essayé d'en concocter une moi-même en reprenant le résultat de
ls **/*(cequejetape)
et en fonction de la liste qui apparaît je tape le chiffre 2 correspondant à la deuxième ligne du résultat ls et libreoffice ouvre le path numéro 2
de mon choix, etc....
en gros, j'arrive à ceci mais évidemment cela ne fonctionne pas:
libreo() {
local curcontext="$curcontext" state line
typeset -A opt_args
path=ls **/$
read reponse
case "$reponse" in
1 libreoffice $path1
2 libreoffice $path2
3 libreoffice $path3
4 libreoffice $path4
esac }
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne