Re: [suse-linux-s] ejecutar scripts sin "sh"
Gracias por las respuestas, pero no voy por ahí... :) Vamos a ver: en la ruta /hola/quetal/aquí/ tengo mi script llamado caracol. pues hago: cd /hola/quetal/aquí/ y ahora si pongo "caracol" NO FUNCIONA!!! y entonces tengo que poner : sh caracol (en dicha ruta). No es porque soy el root, No es por el tema de los permisos. No es por el tema de que estoy en otro directorio y no encuentra la ruta, No es porque el script tiene código extenso... debe ser algo que todavía no habéis nombrado pues aún no he dado con la solución. PD: No me importa poner "sh caracol" pero realmente, quiero saber porqué con suse, por defecto, no me funcionan los scripts por su nombre. PD: En mi Debian SI me funciona el típico "smb restart" en la ruta de /etc/initd/blablabla... Gracias una nueva vez!!! JuAnArKo...
From: "Miguel Camargo"
To: sitalopez@hotmail.com, suse-linux-s@suse.com Subject: Re: [suse-linux-s] ejecutar scripts sin "sh" Date: Thu, 24 Oct 2002 14:54:04 +0200 Es muy simple, simplemente es porque esos ficheros de script no tienen permisos de ejecucion y por lo tanto no pueden ser ejecutados directamente como si fueran programas normales.
Al poner el sh delante del nombre del script, lo que realmente estas haciendo es ejecutar el programa sh (no tu escript) con tu script como parametro de entrada. El programa sh leera el fichero de script (ya que es el que sabe interpretarlo) y lo ejecutara.
Si quieres evitarte poner sh cada vez que quieras ejecutar un script de la shell, lo que tienes que hacer es ponerle a ese fichero permisos de ejecucion para que el sistema lo trate como un programa normal. Esto se hace asi:
chmod ugo+x nombre_script
Espero haberte ayudado:-)
From: "sita lopez"
To: suse-linux-s@suse.com Subject: [suse-linux-s] ejecutar scripts sin "sh" Date: Thu, 24 Oct 2002 00:55:01 +0000 Holas, me ha pasado esto desde los últimos 3 años, 3 años con diferentes Suses, y ahora me he hartado y os lo pregunto. ¿por qué siempre tengo que ejecutar scripts poniendo sh delante? ... a mi solo con "#smb start" o "#programa" no me funciona. siempre pongo el inicio de marcado de shell: #sh smb start.
¿alguna ayuda?
_________________________________________________________________ MSN. Más Útil Cada Día http://www.msn.es/intmap/
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
_________________________________________________________________ MSN Fotos: la forma más fácil de compartir e imprimir fotos. http://photos.msn.es/support/worldwide.aspx
Veamos. Siguiendo con tu ejemplo, si haces cd /hola/quetal/aquí y luego pones "caracol", no debe funcionarte. Eso es absolutamente correcto. Para ejecutar el script caracol debes escribir (como ya te contestaron antes) ./caracol. Esto último, si debe funcionar. Si no funciona, debe ser cosa de permisos. El motivo de tener que indicar ./nombre_script es la seguridad. Imaginate que en algún sitio de tu máquina (y ese sitio está en tu path) alguien te pone un script llamado caracol que lo que hace es un "rm -r * ". Tu intentas ejecutar "tu caracol" pero como en tu PATH está la ruta al "otro caracol", se ejecuta el otro y te cargas tu sistema. Saludos. sita lopez escribió:
Gracias por las respuestas, pero no voy por ahí... :) Vamos a ver: en la ruta /hola/quetal/aquí/ tengo mi script llamado caracol. pues hago: cd /hola/quetal/aquí/ y ahora si pongo "caracol" NO FUNCIONA!!! y entonces tengo que poner : sh caracol (en dicha ruta).
No es porque soy el root, No es por el tema de los permisos. No es por el tema de que estoy en otro directorio y no encuentra la ruta, No es porque el script tiene código extenso... debe ser algo que todavía no habéis nombrado pues aún no he dado con la solución.
PD: No me importa poner "sh caracol" pero realmente, quiero saber porqué con suse, por defecto, no me funcionan los scripts por su nombre.
PD: En mi Debian SI me funciona el típico "smb restart" en la ruta de /etc/initd/blablabla...
Gracias una nueva vez!!!
JuAnArKo...
From: "Miguel Camargo"
To: sitalopez@hotmail.com, suse-linux-s@suse.com Subject: Re: [suse-linux-s] ejecutar scripts sin "sh" Date: Thu, 24 Oct 2002 14:54:04 +0200 Es muy simple, simplemente es porque esos ficheros de script no tienen permisos de ejecucion y por lo tanto no pueden ser ejecutados directamente como si fueran programas normales.
Al poner el sh delante del nombre del script, lo que realmente estas haciendo es ejecutar el programa sh (no tu escript) con tu script como parametro de entrada. El programa sh leera el fichero de script (ya que es el que sabe interpretarlo) y lo ejecutara.
Si quieres evitarte poner sh cada vez que quieras ejecutar un script de la shell, lo que tienes que hacer es ponerle a ese fichero permisos de ejecucion para que el sistema lo trate como un programa normal. Esto se hace asi:
chmod ugo+x nombre_script
Espero haberte ayudado:-)
From: "sita lopez"
To: suse-linux-s@suse.com Subject: [suse-linux-s] ejecutar scripts sin "sh" Date: Thu, 24 Oct 2002 00:55:01 +0000 Holas, me ha pasado esto desde los últimos 3 años, 3 años con diferentes Suses, y ahora me he hartado y os lo pregunto. ¿por qué siempre tengo que ejecutar scripts poniendo sh delante? ... a mi solo con "#smb start" o "#programa" no me funciona. siempre pongo el inicio de marcado de shell: #sh smb start.
¿alguna ayuda?
_________________________________________________________________ MSN. Más Útil Cada Día http://www.msn.es/intmap/
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
_________________________________________________________________ MSN Fotos: la forma más fácil de compartir e imprimir fotos. http://photos.msn.es/support/worldwide.aspx
El 2002-10-24 a las 17:06, sita lopez escribió:
Gracias por las respuestas, pero no voy por ahí... :) Vamos a ver: en la ruta /hola/quetal/aquí/ tengo mi script llamado caracol. pues hago: cd /hola/quetal/aquí/ y ahora si pongo "caracol" NO FUNCIONA!!!
Absolutamente correcto: ¡NO debe funcionar! -- Saludos Carlos Robinson
participants (3)
-
Carlos E. R.
-
Luis
-
sita lopez