logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 28-01-2016 14:26:59

tontongurine
Membre
Distrib. : debian 8.3
Noyau : Linux 3.16.0-4-amd64
(G)UI : lxde
Inscription : 28-01-2016
Site Web

[résolu] autocomplétion

Bonjour,

quand je suis sous debian, je regrette très fort de ne pas avoir une autocomplétion en ligne de commande aussi puissant que sous linux mint ou ubuntu.

Par exemple si j'ai tapé "sudo aptit" et que je tape sur la touche tab ça fasse "sudo aptitude" et que si j'ai "sudo aptitude upg" et que j'appuie sur la touche tab, j'obtienne "sudo aptitude upgrade".

Je suis sous bash.

Dernière modification par tontongurine (30-01-2016 23:23:38)


tontongurine,
linuxeur et figuriniste depuis le XXe siècle
debian ou linux mint selon les bécanes

Hors ligne

#2 28-01-2016 15:39:02

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : [résolu] autocomplétion

Si tu passes d'abord en superutilisateur l'autocompletion est tout aussi efficace. cool

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#3 28-01-2016 16:31:14

greenmerlin
Membre
Lieu : 127.0.0.1
Distrib. : Archlinux/TinycoreLinux(CorePure 64-6.4.1)/Jessie
Noyau : 4.2.2-1 / 4.4
(G)UI : wmaker
Inscription : 23-01-2016

Re : [résolu] autocomplétion

Bonjour,

Utilise zsh pour l'autocomplétition des options des commandes.


[Ouverture d'un débat][Troll] C'est juste LE MEILLEUR SHELL EXISTANT [/Ouverture d'un débat][/Troll]

Ensuite on va ensuite télécharger un outil de configuration qui se chargera de beaucoup de chose à ta place

apt-get install zsh


sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"



@bientôt

Dernière modification par greenmerlin (28-01-2016 17:04:56)


" La plus importante et la plus négligée de toutes les conversations, c'est l'entretien avec soi-même. "
Chancelier Oxenstiern.

536920766f7573206172726976657220c3a0206c69726520c3a7612c20632765737420717565206e6f757320706172746167656f6e73206c6573206dc3aa6d65732063656e747265732064e28099696e74c3a972c3aa74732e

Hors ligne

#4 28-01-2016 16:33:54

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : [résolu] autocomplétion

Salut greenmerlin,

Un peu d'explication sur le téléchargement que tu proposes à la suite de l'installation de zsh ne serait pas de trop.
Et pi un téléchargement en root, c'est-y pas une erreur grossière à ne pas suivre ?

cool

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#5 28-01-2016 17:05:37

greenmerlin
Membre
Lieu : 127.0.0.1
Distrib. : Archlinux/TinycoreLinux(CorePure 64-6.4.1)/Jessie
Noyau : 4.2.2-1 / 4.4
(G)UI : wmaker
Inscription : 23-01-2016

Re : [résolu] autocomplétion

smolski a écrit :

Salut greenmerlin,

Un peu d'explication sur le téléchargement que tu proposes à la suite de l'installation de zsh ne serait pas de trop.
Et pi un téléchargement en root, c'est-y pas une erreur grossière à ne pas suivre ?

cool


(vu) cool


" La plus importante et la plus négligée de toutes les conversations, c'est l'entretien avec soi-même. "
Chancelier Oxenstiern.

536920766f7573206172726976657220c3a0206c69726520c3a7612c20632765737420717565206e6f757320706172746167656f6e73206c6573206dc3aa6d65732063656e747265732064e28099696e74c3a972c3aa74732e

Hors ligne

#6 28-01-2016 17:44:19

tontongurine
Membre
Distrib. : debian 8.3
Noyau : Linux 3.16.0-4-amd64
(G)UI : lxde
Inscription : 28-01-2016
Site Web

Re : [résolu] autocomplétion

Merci à tous pour vos réponses. Mais...

Je ne veux pas de zsh. J'ai déjà essayé. Je préfère bash. Pas envie d'apprendre le zsh quand un bash moderne me fait tout ce que je peux vouloir. Je suis humain :o)

Et quand c'est pas le cas, j'ai perl ou ruby.

Ma question reste posée ou j'ai pas u voir la réponse avec bash ? Parce ce que je vous demande, c'est qu'un bash sous debian fonctionne comme un bash sous linuxMint au niveau de l'autocomplétion (le genre de truc qui fait qu'on préfère une distrib à une autre).

tontongurine,
linuxeur et figuriniste depuis le XXe siècle
debian ou linux mint selon les bécanes

Hors ligne

#7 28-01-2016 19:26:16

greenmerlin
Membre
Lieu : 127.0.0.1
Distrib. : Archlinux/TinycoreLinux(CorePure 64-6.4.1)/Jessie
Noyau : 4.2.2-1 / 4.4
(G)UI : wmaker
Inscription : 23-01-2016

Re : [résolu] autocomplétion

Re,

Si tu veux utiliser l'autocompletition sur les paramètres avec bash de tes commandes il faut créer TOI MEME des fichiers dans ce style sous bash

Voici tout les info concernant l'autocompletition dans Bash
http://www.debian-administration.org/ar … ion_part_1
http://www.linuxjournal.com/content/mor … te-command

# bash completion for rsync

have rsync &&
_rsync()
{
    # TODO: _split_longopt

    local cur prev shell i userhost path  

    COMPREPLY=()
    cur=`_get_cword`
    prev=${COMP_WORDS[COMP_CWORD-1]}

    _expand || return 0

    case "$prev" in
    --@(config|password-file|include-from|exclude-from))
        _filedir
        return 0
        ;;
    -@(T|-temp-dir|-compare-dest))
        _filedir -d
        return 0
        ;;
    -@(e|-rsh))
        COMPREPLY=( $( compgen -W 'rsh ssh' -- "$cur" ) )
        return 0
        ;;
    esac

    case "$cur" in
    -*)
        COMPREPLY=( $( compgen -W '-v -q  -c -a -r -R -b -u -l -L -H \
            -p -o -g -D -t -S -n -W -x -B -e -C -I -T -P \
            -z -h -4 -6 --verbose --quiet --checksum \
            --archive --recursive --relative --backup \
            --backup-dir --suffix= --update --links \
            --copy-links --copy-unsafe-links --safe-links \
            --hard-links --perms --owner --group --devices\
            --times --sparse --dry-run --whole-file \
            --no-whole-file --one-file-system \
            --block-size= --rsh= --rsync-path= \
            --cvs-exclude --existing --ignore-existing \
            --delete --delete-excluded --delete-after \
            --ignore-errors --max-delete= --partial \
            --force --numeric-ids --timeout= \
            --ignore-times --size-only --modify-window= \
            --temp-dir= --compare-dest= --compress \
            --exclude= --exclude-from= --include= \
            --include-from= --version --daemon --no-detach\
            --address= --config= --port= --blocking-io \
            --no-blocking-io --stats --progress \
            --log-format= --password-file= --bwlimit= \
            --write-batch= --read-batch= --help'
-- "$cur" ))
        ;;
    *:*)
        # find which remote shell is used
        shell=ssh
        for (( i=1; i < COMP_CWORD; i++ )); do
            if [[ "${COMP_WORDS[i]}" == -@(e|-rsh) ]]; then
                shell=${COMP_WORDS[i+1]}
                break
            fi
        done
        if [[ "$shell" == ssh ]]; then
            # remove backslash escape from :
            cur=${cur/\\:/:}
            userhost=${cur%%?(\\):*}
            path=${cur#*:}
            # unescape spaces
            path=${path//\\\\\\\\ / }
            if [ -z "$path" ]; then
                # default to home dir of specified
                # user on remote host
                path=$(ssh -o 'Batchmode yes' $userhost pwd 2>/dev/null)
            fi
            # escape spaces; remove executables, aliases, pipes
            # and sockets; add space at end of file names
            COMPREPLY=( $( ssh -o 'Batchmode yes' $userhost \
                command ls -aF1d "$path*" 2>/dev/null | \
                sed -e 's/ /\\\\\\\ /g' -e 's/[*@|=]$//g' \
                -e 's/[^\/]$/& /g' ) )
        fi
        ;;
    *)  
        _known_hosts_real -c -a "$cur"
        _filedir
        ;;
    esac

    return 0
} &&
complete -F _rsync $nospace $filenames rsync

# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh



voilà j’espère avoir repondu à ta
@+


" La plus importante et la plus négligée de toutes les conversations, c'est l'entretien avec soi-même. "
Chancelier Oxenstiern.

536920766f7573206172726976657220c3a0206c69726520c3a7612c20632765737420717565206e6f757320706172746167656f6e73206c6573206dc3aa6d65732063656e747265732064e28099696e74c3a972c3aa74732e

Hors ligne

#8 28-01-2016 23:05:12

tontongurine
Membre
Distrib. : debian 8.3
Noyau : Linux 3.16.0-4-amd64
(G)UI : lxde
Inscription : 28-01-2016
Site Web

Re : [résolu] autocomplétion

Ho, c'est du lourd ! Merci !!!

Je viens de m'apercevoir que j'avais l'autocomplétion que je demandais sous bash quand je suis sous LXTerminal (v 0.2.0) sous moi (simple utilisateur) mais  que ça disparaît quand je suis root. Sans rien modifier de la config bash par défaut (je n'ai pas recopié mon environnement de travail donc c'est vraiment ça).

Je vais explorer cette piste et je reviens dire ce qu'il en est exactement.

tontongurine,
linuxeur et figuriniste depuis le XXe siècle
debian ou linux mint selon les bécanes

Hors ligne

#9 28-01-2016 23:40:39

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : [résolu] autocomplétion

Voilà un fil de discussion qui ne va pas manquer d'enrichir le tuto en question on dirait... smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#10 29-01-2016 08:37:54

Kusajika
Membre
Inscription : 08-04-2015

Re : [résolu] autocomplétion

Bonjour , je ne suis pas certain de bien comprendre mais je pense simplement que tu n'as pas l'autocomplétion en root qui fonctionnement "totalement" c'est bien ça ?
Pour ça il te faut simplement éditer ton fichier, par exemple avec vim:

vi /root/.bashrc


et tu y ajoute ensuite les lignes suivantes

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
    fi



Tu ferme et relance ton terminale et ça sera bon smile

Hors ligne

#11 30-01-2016 11:49:45

tontongurine
Membre
Distrib. : debian 8.3
Noyau : Linux 3.16.0-4-amd64
(G)UI : lxde
Inscription : 28-01-2016
Site Web

Re : [résolu] autocomplétion

Kusajika a écrit :

Bonjour , je ne suis pas certain de bien comprendre mais je pense simplement que tu n'as pas l'autocomplétion en root qui fonctionnement "totalement" c'est bien ça ?
Pour ça il te faut simplement éditer ton fichier, par exemple avec vim:

vi /root/.bashrc


et tu y ajoute ensuite les lignes suivantes

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
    fi



Tu ferme et relance ton terminale et ça sera bon smile



En effet, ça marche nickel.

La syntaxe suivante marche aussi

[[ -f /etc/bash_completion ]] && . /etc/bash_completion



C'est une question de goût. Mais le .bashrc est tout en syntaxe avec des if.

Affaire résolue. Merci à vous tous pour votre aide !!! Ce sont les modérateurs qui closent la discussion ? Je ne m'en vois pas la possibilité en tout cas.

Dernière modification par tontongurine (30-01-2016 11:51:16)


tontongurine,
linuxeur et figuriniste depuis le XXe siècle
debian ou linux mint selon les bécanes

Hors ligne

#12 30-01-2016 11:56:12

Severian
Membre
Distrib. : Debian GNU/Linux 9.4 (stretch)
Noyau : Linux 4.14.0-0.bpo.3-amd64
(G)UI : Openbox 3.6.1-4
Inscription : 13-12-2014

Re : [résolu] autocomplétion

il faut éditer ton premier message pour éditer et mettre [résolu] dans le titre smile
Voir le tuto : C'est résolu ! Bravo mais il faut l'indiquer dans l'titre.

Dernière modification par Severian (30-01-2016 11:56:57)

Hors ligne

Pied de page des forums