Bonjour à tous,
je sais que cela peut paraître ridicule comme pb, mais je m'y suis
penché deux jours sans avoir trouvé la solution. J'ai lu tout ce que m'a
donné google, j'ai lu le manuel de bash, sans succès.
Voilà, mon système d'auto completion fonctionne bien, sauf pour les noms
de variables d'environnement. Par ex, lorsque je fais
ls $HOM[TAB]
l'auto-completion ne donne rien. Or, elle fonctionne bien avec les noms
de répertoire, noms de machines, noms de fichiers, exécutables, etc.
Mon fichier de configuration est /etc/bash_completion fourni par une
mandriva 2006. Ma version de bash est 3.0.
Quelqu'un aurait-il une idée d'où cela peut il provenir ?
Merci
S
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Serge Lavayssière
Bonjour Sid Touati,
Le Thu, 30 Nov 2006 12:08:28 +0100, Sid Touati a écrit :
Bonjour à tous, je sais que cela peut paraître ridicule comme pb, mais je m'y suis penché deux jours sans avoir trouvé la solution. J'ai lu tout ce que m'a donné google, j'ai lu le manuel de bash, sans succès.
Voilà, mon système d'auto completion fonctionne bien, sauf pour les noms de variables d'environnement. Par ex, lorsque je fais ls $HOM[TAB] l'auto-completion ne donne rien. Or, elle fonctionne bien avec les noms de répertoire, noms de machines, noms de fichiers, exécutables, etc. Mon fichier de configuration est /etc/bash_completion fourni par une mandriva 2006. Ma version de bash est 3.0.
Quelques pistes :
- Par défaut, lorsque tu ouvre la console, tu es déjà dans ton home. Et dans ton home, y-a-t'il un répertoire home à trouver ? Si tu fais $cd /hom[tab], ça doit marcher. (ne pas faire le "$" devant "home", mais "/" pour signifier "à partir de la racine) - Linux tient compte des différences entre majuscules et minuscule. Or le répertoire /home est en minuscules.
Ceci te permet-il d'avancer un peu dans la résolution de ton problème ?
Le Thu, 30 Nov 2006 12:08:28 +0100, Sid Touati a écrit :
Bonjour à tous,
je sais que cela peut paraître ridicule comme pb, mais je m'y suis
penché deux jours sans avoir trouvé la solution. J'ai lu tout ce que m'a
donné google, j'ai lu le manuel de bash, sans succès.
Voilà, mon système d'auto completion fonctionne bien, sauf pour les noms
de variables d'environnement. Par ex, lorsque je fais ls $HOM[TAB]
l'auto-completion ne donne rien. Or, elle fonctionne bien avec les noms de
répertoire, noms de machines, noms de fichiers, exécutables, etc. Mon
fichier de configuration est /etc/bash_completion fourni par une mandriva
2006. Ma version de bash est 3.0.
Quelques pistes :
- Par défaut, lorsque tu ouvre la console, tu es déjà dans ton home. Et
dans ton home, y-a-t'il un répertoire home à trouver ?
Si tu fais $cd /hom[tab], ça doit marcher. (ne pas faire le "$" devant
"home", mais "/" pour signifier "à partir de la racine)
- Linux tient compte des différences entre majuscules et minuscule. Or le
répertoire /home est en minuscules.
Ceci te permet-il d'avancer un peu dans la résolution de ton problème ?
Le Thu, 30 Nov 2006 12:08:28 +0100, Sid Touati a écrit :
Bonjour à tous, je sais que cela peut paraître ridicule comme pb, mais je m'y suis penché deux jours sans avoir trouvé la solution. J'ai lu tout ce que m'a donné google, j'ai lu le manuel de bash, sans succès.
Voilà, mon système d'auto completion fonctionne bien, sauf pour les noms de variables d'environnement. Par ex, lorsque je fais ls $HOM[TAB] l'auto-completion ne donne rien. Or, elle fonctionne bien avec les noms de répertoire, noms de machines, noms de fichiers, exécutables, etc. Mon fichier de configuration est /etc/bash_completion fourni par une mandriva 2006. Ma version de bash est 3.0.
Quelques pistes :
- Par défaut, lorsque tu ouvre la console, tu es déjà dans ton home. Et dans ton home, y-a-t'il un répertoire home à trouver ? Si tu fais $cd /hom[tab], ça doit marcher. (ne pas faire le "$" devant "home", mais "/" pour signifier "à partir de la racine) - Linux tient compte des différences entre majuscules et minuscule. Or le répertoire /home est en minuscules.
Ceci te permet-il d'avancer un peu dans la résolution de ton problème ?
J'ai donné l'exemple de $HOME, mais cela n'a rien à voir dans mon cas. Le pb de complétion surgit avec toutes les variables d'environnement, et j'en ai un packet de variables. Je suis informaticien expérimenté, j'ai déjà exploré les solutions de base. Sinon, pour répondre à la question, la variable $HOME est bien définie. C'est la completion du bash qui ne fonctionne pas, et ce pour toute variable d'env. C'est un pb de configuration je pense, mais je n'ai trouvé nullepart la solution.
S
Bonjour Sid Touati,
Quelques pistes :
- Par défaut, lorsque tu ouvre la console, tu es déjà dans ton home. Et dans ton home, y-a-t'il un répertoire home à trouver ? Si tu fais $cd /hom[tab], ça doit marcher. (ne pas faire le "$" devant "home", mais "/" pour signifier "à partir de la racine) - Linux tient compte des différences entre majuscules et minuscule. Or le répertoire /home est en minuscules.
Ceci te permet-il d'avancer un peu dans la résolution de ton problème ?
A +
J'ai donné l'exemple de $HOME, mais cela n'a rien à voir dans mon cas.
Le pb de complétion surgit avec toutes les variables d'environnement, et
j'en ai un packet de variables. Je suis informaticien expérimenté, j'ai
déjà exploré les solutions de base.
Sinon, pour répondre à la question, la variable $HOME est bien définie.
C'est la completion du bash qui ne fonctionne pas, et ce pour toute
variable d'env. C'est un pb de configuration je pense, mais je n'ai
trouvé nullepart la solution.
S
Bonjour Sid Touati,
Quelques pistes :
- Par défaut, lorsque tu ouvre la console, tu es déjà dans ton home. Et
dans ton home, y-a-t'il un répertoire home à trouver ?
Si tu fais $cd /hom[tab], ça doit marcher. (ne pas faire le "$" devant
"home", mais "/" pour signifier "à partir de la racine)
- Linux tient compte des différences entre majuscules et minuscule. Or le
répertoire /home est en minuscules.
Ceci te permet-il d'avancer un peu dans la résolution de ton problème ?
J'ai donné l'exemple de $HOME, mais cela n'a rien à voir dans mon cas. Le pb de complétion surgit avec toutes les variables d'environnement, et j'en ai un packet de variables. Je suis informaticien expérimenté, j'ai déjà exploré les solutions de base. Sinon, pour répondre à la question, la variable $HOME est bien définie. C'est la completion du bash qui ne fonctionne pas, et ce pour toute variable d'env. C'est un pb de configuration je pense, mais je n'ai trouvé nullepart la solution.
S
Bonjour Sid Touati,
Quelques pistes :
- Par défaut, lorsque tu ouvre la console, tu es déjà dans ton home. Et dans ton home, y-a-t'il un répertoire home à trouver ? Si tu fais $cd /hom[tab], ça doit marcher. (ne pas faire le "$" devant "home", mais "/" pour signifier "à partir de la racine) - Linux tient compte des différences entre majuscules et minuscule. Or le répertoire /home est en minuscules.
Ceci te permet-il d'avancer un peu dans la résolution de ton problème ?
A +
manuel viet
Sid Touati wrote:
Mon fichier de configuration est /etc/bash_completion fourni par une mandriva 2006. Ma version de bash est 3.0.
Quelqu'un aurait-il une idée d'où cela peut il provenir ?
Du bash_completion, justement ; essaye de ne pas le sourcer dans /etc/bashrc (ou là où il apparaît, bash -v et grep pour le trouver) ; par défaut, bash fait l'autocompletion des fichiers, répertoires, et variables (et d'autres bricoles). Si ça marche, il va falloir étendre la configuration de bash_completion pour y ajouter le support de ce que tu veux.
-- Manuel VIET * mailto:
Sid Touati wrote:
Mon fichier de configuration est /etc/bash_completion fourni par une
mandriva 2006. Ma version de bash est 3.0.
Quelqu'un aurait-il une idée d'où cela peut il provenir ?
Du bash_completion, justement ; essaye de ne pas le sourcer dans /etc/bashrc
(ou là où il apparaît, bash -v et grep pour le trouver) ; par défaut, bash
fait l'autocompletion des fichiers, répertoires, et variables (et d'autres
bricoles). Si ça marche, il va falloir étendre la configuration de
bash_completion pour y ajouter le support de ce que tu veux.
Mon fichier de configuration est /etc/bash_completion fourni par une mandriva 2006. Ma version de bash est 3.0.
Quelqu'un aurait-il une idée d'où cela peut il provenir ?
Du bash_completion, justement ; essaye de ne pas le sourcer dans /etc/bashrc (ou là où il apparaît, bash -v et grep pour le trouver) ; par défaut, bash fait l'autocompletion des fichiers, répertoires, et variables (et d'autres bricoles). Si ça marche, il va falloir étendre la configuration de bash_completion pour y ajouter le support de ce que tu veux.
Bonjour, merci pour la réponse. A vrai dire, mon ~/.bashrc source le fichier ~/.bash_completion (copie intégrale de /etc/bash_completion)
Exactement. Pour s'en convaincre, faire l'essai avec la commande echo :
$ echo $HO[TAB]
oui, j'ai déjà fait cet essai avec echo auparavant, la variable ne se complète pas. Aucune autre variable d'environnement ne se complète par défaut avec aucune des commandes.
$ complete -p ls $ complete -r ls
Cela ne donne pas le résultat escompté. En effet, la variable $HOME se complète uniquement avec ls et non pas avec d'autres commandes (comme echo par ex). De plus, la variable ne se complète pas comme un répertoire : 'ls $HO{TAB]' donne 'ls $HOME' Or, la completion devrait donner 'ls $HOME/'
J'ai cherché avec google ainsi que dans la doc de completion de bash comment faire, je n'ai pas bien trouvé. Voici ce que je cherche à faire : - completion automatique de toutes les variables avec toute les commandes possibles du système - les variables qui sont des répertoires devraient se compléter avec un '/' final. - en extra, je veux compléter les lignes de commandes à partir de l'historique. En faisant ALT+P ou CTRL+P par ex, je souhaite que ma ligne de commande se complète avec une ligne de commande existante dans l'historique. Le comportement de CTRL+P chez moi donne bien une ligne de commande de l'historique, mais pas la bonne (c'est un peu aléatoire comme completion).
Finalement, la completion de tcsh est plus élaboré que celle de bash.
Merci pour votre aide. S
Bonjour,
merci pour la réponse. A vrai dire, mon ~/.bashrc source le fichier
~/.bash_completion (copie intégrale de /etc/bash_completion)
Exactement. Pour s'en convaincre, faire l'essai avec la commande echo :
$ echo $HO[TAB]
oui, j'ai déjà fait cet essai avec echo auparavant, la variable ne se
complète pas. Aucune autre variable d'environnement ne se complète par
défaut avec aucune des commandes.
$ complete -p ls
$ complete -r ls
Cela ne donne pas le résultat escompté. En effet, la variable $HOME se
complète uniquement avec ls et non pas avec d'autres commandes (comme
echo par ex). De plus, la variable ne se complète pas comme un répertoire :
'ls $HO{TAB]' donne 'ls $HOME'
Or, la completion devrait donner 'ls $HOME/'
J'ai cherché avec google ainsi que dans la doc de completion de bash
comment faire, je n'ai pas bien trouvé. Voici ce que je cherche à faire :
- completion automatique de toutes les variables avec toute les
commandes possibles du système
- les variables qui sont des répertoires devraient se compléter avec un
'/' final.
- en extra, je veux compléter les lignes de commandes à partir de
l'historique. En faisant ALT+P ou CTRL+P par ex, je souhaite que ma
ligne de commande se complète avec une ligne de commande existante dans
l'historique. Le comportement de CTRL+P chez moi donne bien une ligne de
commande de l'historique, mais pas la bonne (c'est un peu aléatoire
comme completion).
Finalement, la completion de tcsh est plus élaboré que celle de bash.
Bonjour, merci pour la réponse. A vrai dire, mon ~/.bashrc source le fichier ~/.bash_completion (copie intégrale de /etc/bash_completion)
Exactement. Pour s'en convaincre, faire l'essai avec la commande echo :
$ echo $HO[TAB]
oui, j'ai déjà fait cet essai avec echo auparavant, la variable ne se complète pas. Aucune autre variable d'environnement ne se complète par défaut avec aucune des commandes.
$ complete -p ls $ complete -r ls
Cela ne donne pas le résultat escompté. En effet, la variable $HOME se complète uniquement avec ls et non pas avec d'autres commandes (comme echo par ex). De plus, la variable ne se complète pas comme un répertoire : 'ls $HO{TAB]' donne 'ls $HOME' Or, la completion devrait donner 'ls $HOME/'
J'ai cherché avec google ainsi que dans la doc de completion de bash comment faire, je n'ai pas bien trouvé. Voici ce que je cherche à faire : - completion automatique de toutes les variables avec toute les commandes possibles du système - les variables qui sont des répertoires devraient se compléter avec un '/' final. - en extra, je veux compléter les lignes de commandes à partir de l'historique. En faisant ALT+P ou CTRL+P par ex, je souhaite que ma ligne de commande se complète avec une ligne de commande existante dans l'historique. Le comportement de CTRL+P chez moi donne bien une ligne de commande de l'historique, mais pas la bonne (c'est un peu aléatoire comme completion).
Finalement, la completion de tcsh est plus élaboré que celle de bash.