> Pues eso. Resulta que ando haciendo scrips (nada serio, caquita todo) y a > veces para ejecutarlos tengo que poner en la linea de comandos sh > nombre_del_script.sh o incluso ./nombre_del_script. Le he puesto en la > puesto en la primera linea el #!/bin/sh, le he puesto permisos 777 le he > puesto una extension .sh, se la he quitado... Y nada. Sin embargo, si pongo > el script en un directorio que está en el path (como por ejemplo en /bin/) > sí que funciona "solo" (sin sh ni ./). ¿Esto es normal?
Sí, un sistema UNIX busca los ejecutables en los directorios indicados en el PATH (echo $PATH para ver el tuyo). Esto no es un fallo, sino que es algo positivo. Si los directorios que contienen comandos y programas (/bin, /usr/bin, y similares) sólo pueden ser escritos por el superusuario, entonces es difícil que un extraño consiga colar un comando dañino y hacer que el usuario lo ejecute. > ¿Hay manera de que no haya que dejar el script en el path para ejecutarlo > sin sh?. Hombre, no es que me importe, pero me amosca Claro que se puede, simplemente añadiendo el directorio "." al PATH, para que busque en el directorio actual en ese momento. No te lo recomiendo en absoluto, el tener que poner "./fichero_ejecutable" para ejecutar un fichero en el directorio actual es una cosa normal y deseable. El poner "." en el PATH puede resultar más cómodo, pero ese es el tipo de filosofías que llevan a catástrofes Windows (es más cómodo autoejecutar los adjuntos de los emails que hacer que lo hagan los usuarios y pedirles confirmación). ;-) Haplo