El whichcomando solo devuelve ejecutables: no sabe nada acerca de los alias, ya que es un programa externo y no existe un mecanismo para pasar la información de alias a un proceso secundario.
Si ingresa el comando type -a cp, verá todas las interpretaciones posibles, en orden de preferencia. Esto incluye cualquier alias, ya que typees un bashcomando interno.
Es importante darse cuenta de que un alias no será interpretado por un subproceso, como un script o un editor interactivo que tenga la opción de ejecutar comandos del sistema.
Si realiza cpuna función, su versión se ejecutará en scripts, aunque no desde otros programas:
cp() { /usr/local/bin/gcp "$@"; }
Si desea cpque trabaje en todas partes, agregue $HOME/binal principio de su PATHlista y apunte $HOME/bin/cppara señalarlo:
ln -s /usr/local/bin/gcp $HOME/bin/cp
Esto crea un enlace simbólico, aunque puede hacerlo un enlace duro un poco más eficiente (omitir -s), pero normalmente necesitará permisos de root ( sudo ln ...). La creación de una función y la adición a la PATHvariable se realizarán en uno de los bashscripts de inicio, con permisos de usuario.
PATHenvar.