The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Arriba Foros > UNIX para usuarios avanzados y expertos
.
google unix.com



UNIX para usuarios avanzados y expertos Experto a experto. Aprender avanzada UNIX, los comandos de UNIX, Linux, Sistemas Operativos, Administración de Sistemas, Programación, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Bourne Shell script - autenticarte de registro para los usuarios dentro y fuera de noodlesoup Programación de scripts de shell y 14 09-08-2006 11:30 PM
Bourne: Cómo invocar un alias dentro de un script de shell techshots Programación de scripts de shell y 2 06-04-2006 01:38 AM
cd de un script de shell Bourne - Por favor Ayuda fawqati Programación de scripts de shell y 10 05-25-2006 04:26 AM
Bourne Shell de comandos de dmhonor914 UNIX for Dummies Preguntas y Respuestas 2 12-10-2003 12:25 PM
script de shell bourne psrinivas Programación de scripts de shell y 2 12-06-2001 03:38 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 10-18-2001
dezithug dezithug is offline
Usuario Registrado
  
 

Fecha: octubre 2001
Ubicación: Los Angeles
Publicaciones: 6
Question Bourne shell script necesita ayuda por favor?

Tengo esta tarea .. i locos y este script, pero hay algo mal con ella .. si alguien me pueda decir .. watz pasa ... Le agradecería que .. thnx de antemano ..
Código:
count=1
val=$2
op=$1
ans=0
if [ $op = "-e" -o $op = "-o" ]
then
        if [ $op = "-e" ]
        then
                while [ $count -le $val ]
                do
                        ans=`expr $count % 2`
                        if [ $ans -eq 0 ]
                        then
                        echo "$count \c "
                        count=`expr $count + 1`
                        fi
                done
        elif [ $op = "-o" ]
        then
                while [ $count -le $val ]
                do
                        ans=`expr $count % 2`
                        if [ $ans -ne 0 ]   
                        then
                        echo "$count \c "
                        count=`expr $count + 1`
                        fi
                done
        fi
else
        while [ $count -le $val ]
        do
                echo "$count \c "
                count=`expr $count + 1`
        done
fi
Thnx de nuevo

añadido etiquetas de código para mejorar la legibilidad - oombera

Última edición por oombera; al 02-20-2004 11:51 AM..
  #2 (Enlace permanente)  
Old 10-19-2001
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Fecha: julio 2001
Ubicación: Portland, OR, EE.UU.
Puestos: 1.584
Una cosa que hice en cuenta es que si está usando Linux, debe cambiar el eco de las declaraciones "echo-e". Que permitirá a la \ c operadores.

Qué es exactamente lo que estás tratando de hacer aquí? Tengo un tiempo difícil de leer la secuencia de comandos (ver, es tarde, y he estado conectando algunas horas extraordinarias por encima de mis largos días normalmente ...). Parece que podría utilizar algunos de los comentarios ...

¿Ha apoyado el uso de "caso" todavía? Si es así, usted puede verse en el uso que - usted puede cortar una gran parte de la confusión "si" declaraciones fuera de allí ...
  #3 (Enlace permanente)  
Old 10-19-2001
dezithug dezithug is offline
Usuario Registrado
  
 

Fecha: octubre 2001
Ubicación: Los Angeles
Publicaciones: 6
así ver .. Estoy utilizando de SCO UNIX .. ª .. todo funciona .. bien .. excepto en el bucle iz algo mal .. al intentar ejecutarlo .. Juss que seguir adelante ... por alguna razón ... ª su soo confuso ..

no hemos aprendido aún el asunto .. Sé que sería más fácil .. pero .. i donno cómo utilizar CASO ..

yoiu si todavía puede pensar en algo .. dat se gr8

Thnx
  #4 (Enlace permanente)  
Old 10-23-2001
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Fecha: julio 2001
Ubicación: Portland, OR, EE.UU.
Puestos: 1.584
Bueno, en primera instancia, que me ayudó mucho que ver con el código en el mismo guión:
Código:
#!/bin/ksh
count=1 
val=$2 
op=$1 
ans=0 
if [ $op = "-e" -o $op = "-o" ] 
then 
     if [ $op = "-e" ] 
     then 
     while [ $count -le $val ] 
     do 
     ans=`expr $count % 2` 
          if [ $ans -eq 0 ] 
          then 
          echo "$count \c " 
          count=`expr $count + 1` 
          fi 
     done 
     elif [ $op = "-o" ] 
     then 
     while [ $count -le $val ] 
     do 
     ans=`expr $count % 2` 
          if [ $ans -ne 0 ] 
          then 
          echo "$count \c " 
          count=`expr $count + 1` 
          fi 
     done 
     fi 
else 
while [ $count -le $val ] 
do 
echo "$count \c " 
count=`expr $count + 1` 
done 
fi
Ahora, la primera cosa que por lo general cuando se trata de intentar figureout lo que mi escritura está haciendo es añadir un "set-x" la línea en la parte superior de la secuencia de comandos. Que se hacen eco de cada paso es realizar el depósito, así que usted puede ver lo que pasa ...

Por lo tanto, el modo en que corre el script, (voy a dar un ejemplo de lo que creo que he visto tratando de usar el "e-4" opción) se quedó atascado en un bucle en:
Ans + \u003d 1
+ '[' 1-eq 0 ']'
+ '[' 1-el 4 ']'
+ + Expr 1% 2
Bueno, interesante ... echemos un vistazo a esto. Entonces, ¿qué está haciendo el guión paso a paso:
Código:
     if [ $op = "-e" ]                       # This is true in our case
     then 
     while [ $count -le $val ]          # while 1 is less than or equal to 4
     do 
     ans=`expr $count % 2`         # ans = 1 % 2, or ans = 1
          if [ $ans -eq 0 ]                  # if ans (1) = 0, then continue... nope - can't continue
          then 
          echo "$count \c " 
          count=`expr $count + 1` 
          fi                                         # We're done, time to loop while waiting for ans to equal 0
¿Ves lo que es problema? Sugerencia: $ ans siempre igual a 1, en este caso

He aquí otro (Messier, pero más información) forma de hacerlo:
Código:
if [ "$op" = "-e" -o "$op" = "-o" ]
echo " if [ $op = -e -o $op = -o ]"
        then
echo "     then"
        if [ "$op" = "-e" ]
echo "     if [ $op = -e ] "
        then
echo "     then"
        while [ "$count" -le "$val" ]
echo "     while [ $count -le $val ] "
        do
echo "     do"
        ans=`expr $count % 2`
echo "     ans=`expr $count % 2` "
                if [ "$ans" -eq "0" ]
echo "          if [ $ans -eq 0 ] "
                then
echo "          then"
                echo -e "$count \c "
echo "          echo -e $count \c"
                count=`expr $count + 1`
echo "          count=`expr $count + 1`"
De esta manera, usted puede mirar su script en acción ... Casi parece como si no sabe cuando para salir, ¿verdad?

Puede que necesite un poco de volver a diseñar, pero creo que está bastante en el camino correcto

(Oh, y yo appologize, he cambiado algunos de los "echo" "s para" echo-e "s, ya que me estaba mirando esto en un sistema Linux ...

¿Esto ayuda a alguno?
  #5 (Enlace permanente)  
Old 10-24-2001
dezithug dezithug is offline
Usuario Registrado
  
 

Fecha: octubre 2001
Ubicación: Los Angeles
Publicaciones: 6
ver .. i aún donno watz .. mal .. pero .. Wat ahora estoy trin iz a hacer .. pausa en el programa da a lil programz .. y .. trin sólo opción-e .. sólo para que .. y olvidarse de otras opciones .. Espero que ayude .. lol pero .. thnx nwyz .. He intentado .. su código .. pero aún didnt obtener .. Wat ocurrido .. i su saber .. el módulo .. cosa jodida ..
ahh .. lol .. He estado trabajando en esto como 3 weekz .. ahora .. jajaja. y en su debido noviembre. 8 .. tengo .. algo más de tiempo ..


thnx .. aunque de nuevo .. I appreciate it
  #6 (Enlace permanente)  
Old 10-24-2001
dezithug dezithug is offline
Usuario Registrado
  
 

Fecha: octubre 2001
Ubicación: Los Angeles
Publicaciones: 6
gracias veryyyyy muchhhhh!

i finalmente tengo .. a trabajar whoooooooooooooooohooooooooooooooooooooooooooo .. lol .. damn .. dat me .. Nuff largo. .. lol .. por ejemplo un programa simple. ª me .. 3 weekz combate .. damn ..

nwy z. .. thnx por su ayuda hermano .. I appreciate it ... mucho ..



Pz a cabo!

Thnx de nuevo!
  #7 (Enlace permanente)  
Old 10-24-2001
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Fecha: julio 2001
Ubicación: Portland, OR, EE.UU.
Puestos: 1.584
Derecho de! ¿Puede publicar su solución a lo que nos hace ver?
Closed Thread

Marcadores

Etiquetas
linux

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 11:49 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0