J'essaie de trouver où un spécifique alias
a été déclaré. J'ai cherché tous les endroits habituels que je connais pour chercher des pseudonymes:
- ~ / .bashrc
- ~ / .bash_profile
- / etc / bashrc
- / etc / profile
Sans chance.
Je sais que c'est alias
parce que quand je le fais which COMMAND
, je reçois:
alias COMMAND='/path/to/command'
/path/to/command
Y at-il un moyen de trouver quel fichier déclare un alias
seul sachant le alias
nom?
set -x
comme suggéré en haut de votre et voir si cela le réduit pour vous.set -x
au sommet de/etc/bash_profile
ou/etc/bashrc
. Pourquoi ne pas simplement courirbash -i -x
oubash -l -x
?Réponses:
Je chercherais
/etc/profile.d/
la fautealias
.Vous pouvez également faire ce qui suit pour le trouver:
Cela récursivement à
grep
travers les fichiers recherchant une ligne commençant paralias COMMAND
.Si tout échoue, mettez ceci à la fin de votre
~/.bashrc
la source
Il y a quelques choses que vous pouvez essayer:
bash -v
pour voir quelles lignes sont lues au démarrage du shellbash -x
pour voir quelles commandes sont en cours d'exécution au démarrage du shellbash -v
Cette
-v
option permet d’bash
imprimer chaque ligne de chaque fichier de script lu au fur et à mesure de sa lecture.Commencez par courir
attendez 5 à 10 secondes, puis appuyez sur Ctrl+C.
Cela vous donnera un seul fichier appelé
bash-i.out
qui ressemble à tous vos fichiers de démarrage fusionnés (ou concaténés) ensemble.Puis utilisez
less
pour ouvrir le fichier et recherchez l’alias avec/aliasname
.Maintenant, comparez où cet alias apparaît par rapport aux autres lignes du fichier. Par exemple, sur la plupart des systèmes,
/etc/bash.bashrc
un commentaire en haut indique/etc/bash.bashrc
et en~/.bashrc
contient un également.S'il se situe au-dessus de votre position
~/.bashrc
, il s'agit probablement d'un fichier de démarrage/etc
définissant l'alias. Sinon, il se trouve dans votre~/.bashrc
fichier ou dans un fichier inclus viasource
ou.
(commande à point).Si cela ne montre pas l'alias, essayez
Cela indique à bash d'être un shell de connexion, qui lit différents fichiers de démarrage, par exemple
/etc/profile
,~/.bash_profile
au lieu de/etc/bash.bashrc
et~/.bashrc
.bash -x
Si
bash -v
cela ne vous donne pas de réponse définitive, essayez de lancerbash -x
, ce qui affiche les commandes exécutées par le shell, plutôt que les lignes lues par votre shell.La méthode est fondamentalement la même que ci-dessus, sauf changer
-v
en-x
. (Vous pouvez utiliser les deux ensemble si nécessaire.)Exécuter avec un seul fichier de démarrage
et voyez si vous avez le pseudonyme.
Essayez la même chose avec
rcfile
set to/etc/bash.bashrc
si votre système en est équipé .Alors essaye
et faites la même chose avec chaque fichier de démarrage bash qui porte
profile
son nom, par exemple, changez$HOME/.bash_profile
pour/etc/profile
.Quel que soit le moyen utilisé pour faire apparaître l’alias, il indique le fichier à regarder.
la source
Peut-être votre
.xinitrc
? Vous devez également vérifier si votre.bashrc
ou la.bash_profile
source contient d’autres fichiers. Par exemple, je garde tous mes alias dans un fichier séparé référencé par cette commande:Quelques questions qui pourraient également aider: S'agit-il d'un utilisateur régulier ou root? De quelle commande s'agit-il? Quelle saveur de Linux?
la source
Je suis la pratique très courante de mettre mes définitions de pseudonymes dans
puis en appelant cela depuis .bashrc avec
la source