2009-04-21 5 views
1

Mon inputrc est vide. J'utilise Bash.Impossible d'avoir une tabulation complète des variables système sans antislash

Problème: Je suis à

cd $te 

je presse Tab, et je reçois

cd \$test 

Comment pouvez-vous avoir l'achèvement onglet sans barre oblique inverse Bash?

+2

Avez-vous un fichier dans le répertoire courant nommé "$ test"? –

+0

Je ne vois rien que j'appellerais un "flash" (dans * toute * direction). Pourriez-vous élaborer? – dmckee

+0

Je pense qu'il voulait dire slash. – marcog

Répondre

4

Vous ne le faites pas. Dans Bash, un $ est utilisé dans la récupération des variables. Par exemple:

SWEETVAR='hi' 
echo $SWEETVAR 

Pour cette raison, un $ au nom d'un fichier ou d'un dossier doit être échappé, sinon il est interprété comme un var.

+0

@Allyn: Comment pouvez-vous avoir un var au lieu d'un système var dans Bash, de sorte que vous n'avez pas besoin de la barre oblique inverse pour échapper. –

+0

Vous voulez dire apparemment avec un var alias. –

1

Le problème semble être dans MacPorts.

Il a une ancienne version de Bash_completion.

La nouvelle version a ce qui suit dans

complete -o nospace -F _cd cd 

pendant que je suis, après l'exécution de la commande

$complete | grep cd 
complete -o filenames -o nospace -F _cd cd 

J'ai envoyé un commentaire à la irc de MacPorts mettre à jour bash-completion @ 20060301 (sysutils).

0

J'ai finalement déménagé à Zsh. Il a résolu le problème pour moi.

Questions connexes