Supongamos que tiene un alias go
, pero quiere que haga cosas diferentes en directorios diferentes.
En un directorio debería ejecutarse cmd1
, pero en otro directorio debería ejecutarsecmd2
Por cierto, ya tengo un alias para cambiar a los directorios anteriores, entonces, ¿es posible agregar la go
asignación de foo
alias al alias?
alias "foo=cd /path/to/foo"
Trabajando en bash (?) En OSX.
Respuestas:
No está completamente seguro de lo que está preguntando, pero un alias simplemente se expande a lo que está en el alias. Si tiene dos alias, puede agregar los diferentes comandos, incluso alias.
En cualquier otra situación, puede especificar una función en su
.bashrc
En caso de que tenga más opciones, podría usar mejor una estructura de caso.
fuente
Tengo la sensación de que estás muy "orientado al directorio" y, en ese caso, esto podría adaptarse mejor a tu mentalidad.
(Pero para ser honesto, creo que esta es una mala idea por completo, le gustaría que los comandos sean globales).
En
.bashrc
, poneralias go="./.cmd"
(entoncessource ~/.bashrc
).Luego, en cada directorio, coloque un script llamado
.cmd
, luegochmod +x .cmd
, simplementego
haga lo suyo.fuente
touch .TESTNO; echo 2 > .TESTNO
) en cada directorio y luego, en su función, buscar ese archivo y bifurcar según el número de prueba del archivo .TESTNO contiene. Aunque no es del todo difícil, probablemente no pueda usar un alias para esto; debes usar una función.Estoy trabajando en un proyecto que logra eso. Compruébalo: localalias .
Aquí hay una demostración:
Curiosamente, en realidad lo usé
go
como ejemplo en la demostración. No mostré el cambio de directorios (algo que debería cambiar sobre la demostración) pero las funciones con ella
comando son de hecho locales al directorio en el que están definidas.fuente
Algo similar, pero suponiendo que "ir" es un comando del que desea una funcionalidad diferente en un directorio específico.
fuente
Si agrega la siguiente función a su .bashrc
Cada vez que cd a un directorio con un archivo .aliases se obtendrá.
Tenga cuidado con la seguridad si otros pueden crear archivos en su máquina.
Con este truco, los alias nunca se eliminan, pero puede escribir tanto código como desee en la función.
Ondir usa este truco y tiene un montón de campanas y silbatos.
http://swapoff.org/ondir.html#download
fuente
.bashrc
. (Esto no funcionarácron
, por ejemplo).