Estoy tratando de encontrar dónde aliasse ha declarado un específico . He buscado todos los lugares habituales que sé para buscar alias:
- ~ / .bashrc
- ~ / .bash_profile
- / etc / bashrc
- / etc / profile
Sin suerte
Sé que es aliasporque cuando lo hago which COMMAND, obtengo:
alias COMMAND='/path/to/command'
/path/to/command
¿Hay alguna manera de encontrar qué archivo declara aliassaber solo el aliasnombre?

set -xcomo se sugiere en la parte superior de su y vea si eso lo reduce para usted.set -xen la parte superior de/etc/bash_profileo/etc/bashrc. ¿Por qué no simplemente correrbash -i -xobash -l -x?Respuestas:
Yo buscaría
/etc/profile.d/al ofensoralias.También puede hacer lo siguiente para encontrarlo:
Esto hará recursivamente a
greptravés de archivos buscando una línea que comience conalias COMMAND.Si todo lo demás falla, pon esto al final de tu
~/.bashrcfuente
Hay algunas cosas que puedes probar:
bash -vpara ver qué líneas se leen durante el inicio del shellbash -xpara ver qué comandos se ejecutan durante el inicio del shellbash -v
La
-vopción hacebashimprimir cada línea de cada archivo de script que lee mientras lo lee.Comience corriendo
espere 5-10 segundos, luego presione Ctrl+C.
Esto le dará un solo archivo llamado
bash-i.outque es como todos sus archivos de inicio combinados (o concatenados) juntos.Luego, use
lesspara abrir el archivo y busque el alias usando/aliasname.Ahora, compare dónde aparece ese alias en relación con otras líneas en el archivo. Por ejemplo, en la mayoría de los sistemas,
/etc/bash.bashrctiene un comentario en la parte superior que dice/etc/bash.bashrcy~/.bashrctiene uno también.Si está por encima de la parte superior de su
~/.bashrc, entonces es probable que sea un archivo de inicio/etcque defina el alias, de lo contrario, está en su~/.bashrcarchivo o en un archivo que incluye a través desourceo.(comando de punto).Si eso no muestra el alias, intente
Eso le dice a bash que sea un shell de inicio de sesión, que lee algunos archivos de inicio diferentes, por ejemplo,
/etc/profiley en~/.bash_profilelugar de/etc/bash.bashrcy~/.bashrc.bash -x
Si
bash -vno le da una respuesta definitiva, intente ejecutarbash -x, que imprime los comandos que ejecuta el shell, en lugar de las líneas que está leyendo su shell.El método es básicamente el mismo que el anterior, excepto cambiar
-va-x. (Puede usar ambos juntos si es necesario).Ejecutar con un solo archivo de inicio
y mira si tienes el alias.
Intente lo mismo con
rcfileset to/etc/bash.bashrcsi su sistema lo tiene.Entonces intenta
y haga lo mismo con cada archivo de inicio de bash que tenga
profilesu nombre, por ejemplo, cambie$HOME/.bash_profilea/etc/profile.Cualquiera que sea la forma en que aparezca el alias le indica el archivo que debe comenzar a mirar.
fuente
Tal vez tu
.xinitrc? También debe verificar si su fuente.bashrco.bash_profilecualquier otro archivo en ellos. Por ejemplo, mantengo todos mis alias en un archivo separado al que hace referencia este comando:Algunas preguntas que también podrían ayudar: ¿Es esto para un usuario habitual o root? ¿Qué comando es? ¿Qué sabor de Linux?
fuente
Sigo la práctica muy común de poner mis definiciones de alias en
y luego llamar eso desde .bashrc con
fuente