9 votos

¿por qué. / se necesita para ejecutar un archivo ejecutable?

Estoy usando ubuntu y Noto muchos de mis scripts ejecutables no se ejecutarán a menos que preceden tema por ./ .

Por ejemplo, si tengo un script en perl: /home/me/script.pl y estoy actualmente en /home/me , mecanografía script.pl no hacerlo, pero ./script.pl va.

¿Por qué es?

21voto

Matt Greer Puntos 319

Porque el directorio actual no está en su camino. Esta es una característica de seguridad. Si estaba en su camino, alguien potencialmente puede bajar una copia maliciosa de un comando común, y cuando esté en ese directorio en lugar de ejecutar sudo real, por ejemplo, deberá ejecutar el uno falso. Eso sería una mala cosa.

13voto

spinodal Puntos 2092

Para ejecutar una secuencia de comandos, necesita escribir la ruta completa a la escritura a menos que la escritura está presente en uno de los directorios listados en su $PATH variable de entorno. Generalmente (y por defecto) . (del directorio actual) no está en su $PATH , por lo que necesitará el tipo ./script para ejecutarlo.

3voto

foxy Puntos 1690

el shell busca el camino para los ejecutables y por defecto ./ no está en el camino.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: