Cuando compilo egxc por:
GCC x.c -o x
Para ejecutar el resultado tengo que escribir:
./x
Y simplemente escribiendo:
x
Falla con este mensaje:
x: comando no encontrado
¡Esto significa que Linux no lo busca en el directorio actual! ¿Hay (estoy seguro de que hay) algún problema razonable detrás de este comportamiento?
Respuesta1
Porque de forma predeterminada, el directorio de trabajo actual no está en la PATH
variable.
Esta es una medida de seguridad/conveniencia. Si tiene archivos binarios/scripts llamados, por ejemplo cd
, ls
, , etc. en su directorio de trabajo actual, sería muy molesto si se ejecutaran de forma predeterminada.
Respuesta2
Significa que el directorio actual no está en la variable $PATH.
Respuesta3
Puede solucionar este problema agregando el directorio actual (representado por un solo punto) a la PATH
variable de entorno.
La forma de hacerlo depende del shell que estés utilizando.
Si está utilizando bash, puede agregar la línea export PATH=$PATH:.
al .bashrc
archivo en su directorio de inicio.
Si está utilizando csh o tcsh, agregue la línea
set PATH = ($PATH .)
al archivo .cshrc en su directorio de inicio.
En mi humilde opinión, para una computadora de escritorio doméstica, esto es algo aceptable en términos de seguridad.