
Vie Ago 22, 2008 6:48 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
Los resultados quedan almacenados en %? (o $? en bash).
Pero a ver si el siguiente ejemplo te puede ayudar:
kk.csh:
| csh: | #!/usr/bin/csh
exit 14 |
Puedo ejecutarlo directamente:
| bash: | explorer@joaquin:~/Documents/Desarrollo> ./kk.csh
explorer@joaquin:~/Documents/Desarrollo> echo $?
14 |
O a través del csh:
| bash: | explorer@joaquin:~/Documents/Desarrollo> csh kk.csh; echo $?
14 |
Y ahora, desde Perl:
| bash: | explorer@joaquin:~/Documents/Desarrollo> perl -le '$x = system "csh kk.csh"; print $x >> 8'
14 |
|
|
Vie Ago 22, 2008 8:32 am
|
 |
miguialberto
Perlero Nuevo

|
Registrado: 28 Jul 2008
Mensajes: 28
|
|
|
|
|
¡Gracias por la rápida contestación!
La verdad es que lo estoy intentando pero me da todo el rato un error del tipo "Variable syntax" cada vez que intento un "echo $?". ¿Sabes a qué se puede deber?
¡Gracias de nuevo! |
|
Vie Ago 22, 2008 8:39 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
| $? es válida en entornos sh, pero es %? en entornos csh. Quizá sea eso. |
|
Vie Ago 22, 2008 8:53 am
|
 |
miguialberto
Perlero Nuevo

|
Registrado: 28 Jul 2008
Mensajes: 28
|
|
|
|
|
| Ya había probado con las dos pero nada. Poniendo "%?" me devuelve "echo: No match".... |
|

Vie Ago 22, 2008 9:51 am
|
 |
miguialberto
Perlero Nuevo

|
Registrado: 28 Jul 2008
Mensajes: 28
|
|
|
|
|
¡Gracias de nuevo! Pero no sé qué le pasa al servidor pero me sigue dando el error de "Variable syntax"... antes he dicho que corría bajo Linux por simplificar, pero la verdad es que es un servidor Solaris que no sé si tendrá Unix o Linux instalado, pero vamos, me imagino que eso no debería afectar a la csh...
He intentado también redireccionar la salida a un fichero (csh file > file2) pero el fichero2 también está vacío. He leído que con csh no se puede hacer redirecciones ni operaciones con ficheros que se suelen hacer normalmente en Bash, pero por probar...
Si encuentro solución lo comento.
¡Ciao y gracias! |
|

Vie Ago 22, 2008 10:34 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
Huy, huy, huy... qué lío...
Una cosa es Solaris y otra cosa es Linux. Y los dos son variantes Unix.
Y en cuanto a redireccionar ficheros, sí que se puede hacer. Solo tienes que consultar su página de manual. |
|
Lun Ago 25, 2008 1:35 am
|
 |
miguialberto
Perlero Nuevo

|
Registrado: 28 Jul 2008
Mensajes: 28
|
|
|
|
|
¡Muchas gracias a los dos!
Como dice creating21 hay formas de rodear un poco el problema para ver el valor que devuelve la función. No obstante, lo más cómodo era saber cómo se llama la variable donde se almacena el último valor devuelto por la ultima función ejecutada. Al final y de chiripa he encontrado la variable:
$status
Recordar que esta variable solo (que yo sepa) tiene sentido en la máquina que estoy corriendo el programa, que es una Solaris.
¡Ciao! |
|
Powered by phpBB © 2001, 2005 phpBB Group
|