Al ejecutar scripts en bash, tengo que escribir ./
en el principio:¿Por qué necesita ./ (dot-slash) antes del ejecutable o el nombre del script para ejecutarlo en bash?
$ ./manage.py syncdb
Si no lo hago, me sale un mensaje de error:
$ manage.py syncdb
-bash: manage.py: command not found
¿Cuál es la razón de esto? Pensé que .
es un alias para la carpeta actual, y por lo tanto estas dos llamadas deberían ser equivalentes.
Asimismo, no entiendo por qué no necesito ./
cuando se ejecutan aplicaciones, tales como:
user:/home/user$ cd /usr/bin
user:/usr/bin$ git
(que funciona sin ./
)
Este es el mejor documento sobre el asunto que he encontrado hasta ahora: http://www.linfo.org/dot_slash.html – odigity