scp ne s'auto-complète pas de la même manière que les autres commands

J'utilise tcsh. J'ai trouvé que quand je fais scp my onglet, il ne s'auto my-file.txt complète pas à my-file.txt sous le directory courant, je dois préfixer un ./ là pour le compléter. Cela semble arriver seulement avec scp . J'ai essayé d'autres commands, il semble bien fonctionner.

Je trouve que l' onglet scp me donne la valeur de $HOSTNAME (c'est-à-dire le nom d'hôte actuel) localhost

Donc on dirait qu'il essaie de faire correspondre le nom d'hôte, ne sais pas pourquoi ..

ajouté en réponse à un commentaire:

  ~/temp/test>ls -al total 12 drwxr-xr-x 2 liw liw 4096 Jul 21 15:16 . drwxr-xr-x 9 liw liw 8192 Jul 21 15:15 .. -rw-r--r-- 1 liw liw 0 Jul 21 15:16 my_file.txt ~>more .cshrc.user set prompt="%n@%m %~%#" set path=($HOME/bin $path) if (-o $HOME/.aliases) source $HOME/.aliases set filec set autolist set autoexpand set addsuffix bindkey ^r i-search-back ~> complete scp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");ssh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");ssh $q[1] ls -dp $q[2]\*`%' 'c%*@%$hosts%:' 'C@[./$~]*@f@' 'n/*/$hosts/:' 

Il y a presque certainement un file de configuration tcsh à l'échelle du système dans / etc qui a une command complete spéciale définie pour scp . Le moyen le plus simple de vérifier ceci est de taper

 complete 

qui listra toutes les complétions personnalisées. Les directives d'achèvement personnalisé sont un peu compliquées, mais l'intention est probablement que si vous utilisez scp au less un des arguments veut avoir un nom d'hôte dans le path d'access. Vous pouvez ensuite essayer de comprendre ce arcana ou simplement append

 uncomplete scp 

à votre ~/.tcshrc et voler sur command manuelle pour cette command.

L'exécution automatique essaiera de faire correspondre toutes les inputs de votre file hosts. Une fois j'ai fait une auto complète et j'ai eu "sexyladies.com" et j'ai pensé que mon système était compromis car je n'ai jamais visité ce site.

Ce n'était pas le cas, j'avais une configuration de file d'hôtes avec environ 20k inputs de sites que je voulais bloquer. Donc, chaque fois que je fais une auto complète, elle passe par cette list.