Thread View: es.comp.os.linux.programacion
7 messages
7 total messages
Started by the.dodger
Thu, 23 Jun 2005 00:46
script (sh) - directorio de ejecución desde X
Author: the.dodger
Date: Thu, 23 Jun 2005 00:46
Date: Thu, 23 Jun 2005 00:46
21 lines
1573 bytes
1573 bytes
Hola a todos. A ver si alguien puede echarme una mano, que no encuentro información al respecto... Imaginemos el siguiente script: #! /bin/sh cwd > /home/dodger/cwd.txt Al ejecutarlo desde consola, guarda en el fichero /home/dodger/cwd.txt la ruta del directorio desde donde se ejecuta. Sin embargo, al ejecutarlo desde las X, siempre guarda el directorio HOME, /dodger/home. ¿Como puedo guardar desde el .sh, lanzado desde las X, el directorio donde está realmente el fichero? Muchas gracias por adelantado: -dodger-
Re: script (sh) - directorio de ejecución desde X
Author: J.A. Gutierrez
Date: Thu, 23 Jun 2005 07:30
Date: Thu, 23 Jun 2005 07:30
43 lines
2636 bytes
2636 bytes
the.dodger@gmail.com wrote: : #! /bin/sh : cwd > /home/dodger/cwd.txt cwd no es un ejecutable estandar de Unix/Linux, que yo sepa. : Al ejecutarlo desde consola, guarda en el fichero /home/dodger/cwd.txt : la ruta del directorio desde donde se ejecuta. si te refieres a "pwd", si te da el directorio actual de trabajo del shell desde el que se le invoca. : Sin embargo, al ejecutarlo desde las X, siempre guarda el directorio : HOME, /dodger/home. : �Como puedo guardar desde el .sh, lanzado desde las X, el directorio : donde est� realmente el fichero? Si te entiendo bien, lo que quieres decir es que si el script lo tienes en /foo/bar/foo.sh, lo que quieres es que te deje como salida "/foo/bar" cuando se ejecuta "desde las X". Primero: lo de "desde las X" no tiene sentido tal cual. En un entorno X11 existen infinidad de metodos para ejcutar comandos; asi que depende del metodo los resultados pueden ser unos u otros. Segundo: por lo general, el directorio donde esta instalado un script viene dado por `dirname $0` Tercero: de todas formas no veo la relacion entre el directorio en el que esta instalado un script y el directorio actual de trabajo en shell; asi que probablemente no he entendido bien lo que quieres... -- PGP and other useless info at \ http://webdiis.unizar.es/~spd/ \ finger://daphne.cps.unizar.es/spd \ Timeo Danaos et dona ferentes ftp://ivo.cps.unizar.es/pub/ \ (Virgilio)
Re: script (sh) - directorio de ejecución desde X
Author: dodger
Date: Thu, 23 Jun 2005 08:20
Date: Thu, 23 Jun 2005 08:20
63 lines
3290 bytes
3290 bytes
Hola, y gracias por tu respuesta J.A. Gutierrez ha escrito: > : #! /bin/sh > : cwd > /home/dodger/cwd.txt > > cwd no es un ejecutable estandar de Unix/Linux, que yo sepa. > > : Al ejecutarlo desde consola, guarda en el fichero /home/dodger/cwd.txt > : la ruta del directorio desde donde se ejecuta. > > si te refieres a "pwd", si te da el directorio actual de > trabajo del shell desde el que se le invoca. Efectivamente, me refería a pwd. Esto de postear a las 3 de la mañana no es sano :) > > : Sin embargo, al ejecutarlo desde las X, siempre guarda el directorio > : HOME, /dodger/home. > > : ¿Como puedo guardar desde el .sh, lanzado desde las X, el directorio > : donde está realmente el fichero? > > Si te entiendo bien, lo que quieres decir es que si el script > lo tienes en /foo/bar/foo.sh, lo que quieres es que te deje > como salida "/foo/bar" cuando se ejecuta "desde las X". > > Primero: lo de "desde las X" no tiene sentido tal cual. En > un entorno X11 existen infinidad de metodos para ejcutar > comandos; asi que depende del metodo los resultados pueden > ser unos u otros. Tienes razón. Me refería a un clásico "doble click" desde una ventana de kde... > > Segundo: por lo general, el directorio donde esta instalado > un script viene dado por `dirname $0` Estupendo, gracias, probaré con ello. > Tercero: de todas formas no veo la relacion entre el directorio > en el que esta instalado un script y el directorio actual de > trabajo en shell; asi que probablemente no he entendido bien > lo que quieres... El tema es que el script debe acceder a otros ficheros que le acompañan, y están en el mismo directorio (no va a estar en ningún lugar del PATH, por lo que el directorio de ejecución debería ser el directorio en que esté instalado). Al ejecutarlo desde consola, todo estupendo, pero al tratar de lanzarlo con "doble click", fallaba. El ejemplo del "pwd" era sólo ilustrativo :) Muchas gracias, y probaré lo del `dirname $0` -dodger-
Re: script (sh) - directorio de ejecución desde X
Author: Jos� Luis P�rez Diez
Date: Thu, 23 Jun 2005 08:26
Date: Thu, 23 Jun 2005 08:26
46 lines
2447 bytes
2447 bytes
In article <1119487606.049794.80650@g14g2000cwa.googlegroups.com>, wrote: > #! /bin/sh > cwd > /home/dodger/cwd.txt > > Al ejecutarlo desde consola, guarda en el fichero /home/dodger/cwd.txt > la ruta del directorio desde donde se ejecuta. > Sin embargo, al ejecutarlo desde las X, siempre guarda el directorio > HOME, /dodger/home. > > �Como puedo guardar desde el .sh, lanzado desde las X, el directorio > donde est� realmente el fichero? > Mira la pagina de manual de sh $0 guarda la llamada si el script no esta en el path $0 coniene la ruta al comando si no usa which $PWD contiene el directorio activo Segun que uses para lanzar el comado desde las X te mantendra siempre le mismo directorio de incio ( si abres un xterm veras como siempre te guarda el directorio en que estas): jpddb@debian:/$ cat ~/test.sh #!/bin/bash echo $PWD echo $SHELL echo $0 which $0 jpddb@debian:/$ ~/test.sh / /bin/bash /home/jpddb/test.sh /home/jpddb/test.sh jpddb@debian:/$ cd jpddb@debian:~$ ./test.sh /home/jpddb /bin/bash /test.sh /test.sh jpddb@debian:~$ -- Los programadores esta ocupados intendtado mejorar los programas a prueba de idiotas. Mientras tanto el universo intenta mejorar los idiotas. El universo va ganando
Re: script (sh) - directorio de ejecución desde X
Author: Claudio
Date: Thu, 23 Jun 2005 11:24
Date: Thu, 23 Jun 2005 11:24
11 lines
1493 bytes
1493 bytes
On 2005-06-23, dodger <the.dodger@gmail.com> wrote: > > El tema es que el script debe acceder a otros ficheros que le > acompa�an, Esto es una mala t�cnica. En unix se suelen separar los elementos de programas por su l�gica: configuraci�n en /etc , ejecutables en /usr/bin/ datos en /var , etc. Un saludo. --claudio--
Re: script (sh) - directorio de ejecución desde X
Author: dodger
Date: Thu, 23 Jun 2005 19:40
Date: Thu, 23 Jun 2005 19:40
28 lines
2190 bytes
2190 bytes
Claudio wrote: > On 2005-06-23, dodger <the.dodger@gmail.com> wrote: > > > > El tema es que el script debe acceder a otros ficheros que le > > acompañan, > > Esto es una mala técnica. En unix se suelen separar los elementos de > programas por su lógica: configuración en /etc , ejecutables en > /usr/bin/ datos en /var , etc. Si, lo sé. Quería ahorrar los detalles del caso en particular, pero hubiese sido mejor contarlo desde el principio. Todo esto viene para arrancar un programa Java, que se encuentra en un par de ficheros .jar. Quiero poder lanzarlo con "doble click", pero necesito especificar esos jar en el classpath, en plan: #! /bin/sh java -cp jar1.jar:jar2.jar Programa Esto en consola va guay, pero desde las X, con doble click, no encuentra los jar... y de ahí todo el follón :) Gracias a todos por las respuestas :) -dodger-
Re: script (sh) - directorio de ejecución desde X
Author: Jellby
Date: Fri, 24 Jun 2005 11:26
Date: Fri, 24 Jun 2005 11:26
22 lines
2018 bytes
2018 bytes
Entre otras cosas, dodger tuvo a bien escribir:
> #! /bin/sh
> java -cp jar1.jar:jar2.jar Programa
>
> Esto en consola va guay, pero desde las X, con doble click, no
> encuentra los jar... y de ah� todo el foll�n :)
En KDE, cuando creas los "enlaces a aplicaci�n", tienes un campo que se
llama "ruta de trabajo", supongo que servir� para eso. En otros escritorios
o en X a secas, pues no s�, pero supongo que siempre podr�s poner algo as�
como "cd /home/pepito/aquimismo" al principio del script.
--
Ignacio __ Fern�ndez Galv�n
/ /\
Linux user / / \ PGP Pub Key
#289967 / / /\ \ 0x01A95F99
/ / /\ \ \
http://djelibeibi.unex.es
/________\ \ \
jellby \___________\/ yahoo.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads