Me ha estado molestando durante mucho tiempo y estoy realmente harto de ello. Por ejemplo, hay un script llamado testscript que compara dos directorios. En clase el profesor puede simplemente escribir
testscript dir1 dir2
para obtener el resultado, pero tengo que agregar ./ antes del testscript y presionar enter. Luego ingrese dir1 y dir2 en la siguiente línea
¿Cómo hizo eso el profe? ¿Es algo relacionado con bashrc? Nunca entiendo cómo funciona. Si está relacionado, explíquelo en un lenguaje sencillo ya que soy nuevo en Linux. ¡Gracias!
Respuesta1
Necesita agregar el directorio con su script a la PATH
variable:
export PATH="$PATH:/path/to/dir"
o incluso puedes agregaractualdirectorio a PATH
:
export PATH="$PATH:."
Este último tiene algunosinconveniente de seguridadaunque.
Respuesta2
Otra forma de hacer esto es agregar un alias en su archivo bashrc:
vim ~/.bashrc
Así es como se ve mi archivo bashrc:
# .bashrc
alias coredb='psql -h 172.x.x.x -U jboss jbossdb'
alias psql='psql -h 172.x.x.x -U rkah portal_db'
alias opendb='psql -h 172.x.x.x -U rkah portal_db'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias menu='bash ./menuScript.sh'
alias vi='vim'
Si miras donde dice alias, así es exactamente como puedes agregarlo. Entonces, por ejemplo, ingresarías:
alias testscript='bash ./testscript.sh'
Respuesta3
Debes poner la siguiente línea al final de tu .bashrc
archivo:
PATH=$PATH:.
Para hacerlo puedes escribir este comando:
echo "PATH=$PATH:." >> ~/.bashrc
Luego deberías iniciar un nuevo shell para que funcione.
Respuesta4
Otra alternativa que podría considerar es recopilar esos programas y scripts ejecutables especiales en un directorio y colocarlos en la declaración PATH. Así no tendrías que utilizar el temido '.' (punto) en la variable PATH pero aún así haría lo que quisieras.