• Publicidad

El preámbulo ./

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

El preámbulo ./

Notapor Lu_Arg » 2008-11-22 15:31 @688

Hola, estoy tratando de buscar quée hace el comando ./
Me pasaron un código para ejecutar un programa en Perl y no logro hacerlo andar.
Estoy usando Windows Vista, por lo cual para ejecutar el comando, abro un command executer en DOS.
Allí, entro al directorio en donde tengo grabado el programita que me pasaron y supuestamente poniendo ./run_trees data/letter deberían ejecutarse todos los comandos. El problema es que no le gusta el .
¿Alguno puede decirme qué se supone que hace el ./ ?
¡¡¡Gracias!!!
Lu_Arg
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2008-11-22 15:14 @676

Publicidad

Notapor creating021 » 2008-11-22 16:01 @709

¿Alguno puede decirme qué se supone que hace el ./ ?

Bueno, el punto se usa para indicar que se usará la ruta actual, solo haz la prueba:
Código: Seleccionar todo
chdir ./

El slash es tan sólo un separador...
./my_ejecutable es igual a C:\ruta_actual\my_ejecutable
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor Lu_Arg » 2008-11-22 16:40 @736

No funciona :(
Voy a tratar de correr los comandos por separado.
El archivo que se llama run_trees lo puedo leer y lo que tiene es una dirección hacia otra ruta. Tal vez me esté fallando eso.
Gracias de todos modos.
Lu_Arg
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2008-11-22 15:14 @676

Notapor explorer » 2008-11-22 17:34 @774

Bienvenido a los foros de Perl en Español, Lu_Arg.

El ./ forma parte del comando que estás ejecutando, no es un comando aparte. Así, con ./run_trees data/letter estás ejecutando un comando, run_trees, pero antes estás indicando dónde está ese comando: ./. Es decir, cuelga (/) a partir del nodo actual (.).

Esto sirve para indicar comandos que están en directorios distintos del actual. Si, por ejemplo, estás en /home/Lua y quieres ejecutar el comando run_trees que está en /usr/local/bin, podrías hacerlo poniendo el camino absoluto a él: /usr/local/bin/run_trees.

Como es un rollo el tener que poner valores absolutos a los caminos de los programas, se usa la variable de entorno PATH, que indica dónde debe mirar el programa de línea de comandos para encontrar los ejecutables que desea correr el usuario. Si, por ejemplo, en PATH, se almacena el valor '.', entonces uno de los lugares a mirar será en el mismo directorio en donde te encuentres (algo nada aconsejable si eres el root del sistema) y no tendrás que poner ningún camino, ni siquiera ./.

Estando en Windows, creo recordar que primero mira en el directorio donde te encuentres, así que en tu caso, ejecutarías el comando con run_trees data\letter.

Y en ese momento depende de lo que sea run_trees.

Como dices que es un programa en Perl, depende de la configuración del sistema que entienda que debe ejecutar el intérprete perl y pasarle como argumento, tu programa.

Si no lo tienes bien configurado, la opción es darle más información a tu entorno de línea de comandos: perl runtrees data\letter.

Presta también atención a los '/' que pasan a ser '\'. Bueno... Perl hará bastantes de esos cambios por ti...

Y, finalmente, la opción más clara: no usar Windows.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Lu_Arg » 2008-11-22 18:32 @814

¡¡Muchas gracias por la explicación!!
Estoy viendo si puedo contactarme con la persona que me armó el programa porque no logro hacerlo andar.
El archivo run_trees no tiene extensión .pl sino que corre otro código que tiene dentro. Al leerlo con el editor veo qué es lo que hace, traté de correr los comandos por separado, pero no funciona.
Voy a seguir investigando.
Saludos.
Lu_Arg
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2008-11-22 15:14 @676

Notapor explorer » 2008-11-22 18:39 @818

Si estás seguro que es un programa en Perl, puedes ejecutarlo con perl run_trees.

Sería interesante saber qué errores te sale.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Lu_Arg » 2008-11-22 19:23 @849

Es un programa que desarrolló un colega. El me envió un archivo comprimido, yo lo descomprimí y estoy tratando de ejecutar la ruta que él me dijo.
El error que me sale es siempre el mismo: si dejo el ., me dice que el path no está definido para tal archivo. Si lo reemplazo por chdir tampoco me lo acepta.
No puedo compartir el código porque es el desarrollo de él, sino lo compartiría para poder tener la solución.
Gracias de todos modos.
sds,
Luciana
Lu_Arg
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2008-11-22 15:14 @676

Notapor explorer » 2008-11-22 20:14 @884

Si estás intentando ejecutarlo en Windows, no pongas el .. Solo pon el nombre del ejecutable (si tienes correctamente instalado el intérprete perl). O también, con perl run_trees data\letter.

No te pedimos que muestres el código, sino los errores. ¿Es un error generado por la aplicación o por Windows?

Y si el código es importante, lo más común es falsear la información sensible con datos falsos o inventados. Solo deberías publicar código si es de libre acceso.

Otra opción o pista para saber qué pasa es saber qué es lo que quieres que haga el programa...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor creating021 » 2008-11-22 20:20 @889

Lu_Arg escribiste:Es un programa que desarrollo un colega. El me envió un archivo comprimido, yo lo descomprimí y estoy tratando de ejecutar la ruta que él me dijo.
El error que me sale es siempre el mismo, si dejo el ., me dice que el path no está definido para tal archivo. Si lo reemplazo por chdir tampoco me lo acepta.
No puedo compartir el código porque es el desarrollo de él, sino lo compartiría para poder tener la solución.
Gracias de todos modos.
sds,
Luciana

Lo de chdir era solo para dar un ejemplo...
Bueno, primero asegúrese que el ejecutable tenga permisos de ejecución.
Luego asegúrese de esto:
explorer escribiste:Como dices que es un programa en Perl, depende de la configuración del sistema que entienda que debe ejecutar el intérprete perl y pasarle como argumento, tu programa.

Tienes agregarle la ruta del intérprete en la variable de entorno... no recuerdo cómo hacerlo, creo que en los tutoriales del foro dice...
Luego, intente de nuevo :)

Algo más. según wikipedia debería ser algo como -->
Código: Seleccionar todo
\\.\run_trees data\letter
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor explorer » 2008-11-22 20:30 @896

creating021 escribiste:Algo más. según Wikipedia debería ser algo como
Código: Seleccionar todo
\\.\run_trees data\letter

¿¿Eso es necesario en Windows??

No puedo creerlo...

¿En qué parte de Wikipedia lo has visto?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 7 invitados

cron