Antecedentes: uno de mis colegas que no proviene de Linux me preguntó acerca del uso ./
antes de algunos comandos y no de otros, así que le expliqué cómo PATH
funciona y cómo se eligen los binarios para ejecutarlos. Su respuesta fue que era tonto y solo quería no tener que escribir ./
antes de los comandos.
Pregunta: ¿Hay alguna forma de modificar fácilmente el comportamiento del shell de modo que $PWD
siempre sea el primer elemento PATH
?
~/bin
y hacerlos partePATH
? Esto también mantiene las cosas organizadas.PATH
(que es la fuente habitual de tales consideraciones).Respuestas:
Si realmente quieres, puedes hacerlo anteponiendo
.
a tu camino:Sin embargo, esa es una mala idea, porque significa que su shell seleccionará cualquier comando en el directorio actual con preferencia a otros. Si alguien (o algún programa) suelta un
ls
comando malicioso en un directorio que usa con frecuencia, tiene problemas ...fuente
.
al principio tuyoPATH
era el predeterminado para los usuarios normales (si creé el usuario con "sam" en HP-UX, al menos; no estoy seguro acerca del viejo SunOS). Más tarde, este valor predeterminado se eliminó por razones de seguridad. Si tiene el.
último elemento de suPATH
, todavía alguien puede esperar errores tipográficos típicos./tmp/sl
scripts de broma para apuntar a los usuarios con tales PATHs. En Debian y derivados, instale elsl
paquete para tener una idea de con qué frecuencia escribesl
en lugar dels
../
cuando desea llamar a comandos en el directorio actual. O bien, si el directorio actual es de costumbre/project/under/development/bin
, a continuación, añadir que a suPATH
. Esto resuelve el caso de uso de su desarrollador. Poner.
al comienzo de tuPATH
es una mala idea, punto.Aunque esta no es una respuesta directa a su pregunta, la mejor práctica sería crear un
bin
directorio en su directorio personal como/home/user/bin
:Ponga sus guiones personales allí. Se
PATH
recorrerán en el orden en que lo defina y ejecute sus scripts personales sin la.
necesidad.fuente
Necesitas tener el. al comienzo de su variable PATH:
fuente