web-dev-qa-db-fra.com

Comment supprimer définitivement un alias de mon shell

Quand je n'étais pas près de mon ordinateur, un gars l'a compris et a défini un alias pour ls dans mon dossier racine. Il l'a réglé sur 'yes NeverGonnaGiveYouUp'. Alors maintenant, quand je suis dans mon dossier racine et tapez ls j'obtiens une boucle infinie de NeverGonnaGiveYouUp. Ça me rend fou et je ne sais pas comment m'en débarrasser.

J'ai déjà essayé unalias et unalias -a mais ceux-ci le suppriment temporairement. Une fois que je ferme le Shell et le rouvre, il revient. Comment puis-je me débarrasser de cette merde?

29
user155462

Si unalias supprime le problème (même temporairement), nous avons la confirmation qu'il s'agit d'un alias. Il pourrait être "brutalement forcé" en ajoutant un lias unalias dans ~/.bashrc.

echo "unalias ls" >> ~/.bashrc

Cela sera excusé à chaque lecture de bashrc et supprimera l'alias.
Cela vous procurera une certaine tranquillité mais ne résoudra pas le problème réel qu'un fichier contient toujours du code pour redémarrer l'alias. Vous devez trouver quel fichier contient le problème.

Si vous utilisez bash:

grep "NeverGonnaGiveYouUp" /etc/profile /etc/bash.bashrc \
      ~/.bashrc ~/.bash_profile ~/.profile \
      /root/.bashrc /root/.bash_profile /root/.profile

C'est une bonne liste de fichiers possibles qui ont obtenu la définition. Si rien n'apparaît dans cette recherche ou si vous utilisez un autre Shell, faites-le nous savoir pour vous aider davantage.

25
user79743

la commande unalias a désactivé l'alias pendant la durée de la session de connexion en cours. l'alias n'est pas supprimé par la commande unalias du fichier .bashrc, lorsque l'utilisateur se reconnecte, cet alias est à nouveau en vigueur.

.bashrc est un fichier caché, vous pouvez vérifier la liste des alias en tapant:

$ alias

Vérifiez le fichier de configuration Shell ~/.bashrc et vous pouvez supprimer définitivement l'alias requis:

 vi ~/.bashrc

Pour trouver un alias:

  $ type --all ls

Supprimer un alias:

unalias gs

Plus sur Manuel

Remarque : unalias -a supprimera toutes les définitions d'alias de l'environnement d'exécution Shell actuel.

16
Ramesh Chand