The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX for Advanced & Expert Users
.
google unix.com



UNIX for Advanced & Expert Users Expert à Expert. Apprenez avancé UNIX, des commandes UNIX, Linux, les systèmes d'exploitation, d'administration système, de la Programmation, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Bourne Shell script - log pour les utilisateurs login sur et en dehors noodlesoup De programmation et de script Shell 14 09-08-2006 10:30 PM
Bourne: Comment invoquer un alias à partir d'un script shell techshots De programmation et de script Shell 2 06-04-2006 12:38 AM
à partir d'un cd Bourne Shell Script - Aide S'il vous plaît fawqati De programmation et de script Shell 10 05-25-2006 03:26 AM
Bourne Shell Script dmhonor914 UNIX pour les nuls Questions et réponses 2 12-10-2003 12:25 PM
bourne shell script psrinivas De programmation et de script Shell 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 Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 10-18-2001
dezithug dezithug is offline
Registered User
  
 

Join Date: Oct 2001
Lieu: Los Angeles
Messages: 6
Question Bourne shell script besoin d'aide s'il vous plaît?

J'ai cette mission .. et i fou ce script mais il ya quelque chose de mal avec lui .. si quelqu'un peut me dire .. watz passe ... i would appreciate it .. thnx à l'avance ..
Code:
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 nouveau

ajouter des balises du code pour plus de lisibilité - oombera

Dernière édition par oombera; au 02.20.2004 11:51 AM..
  #2 (permalink)  
Old 10-19-2001
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Date d'inscription: juillet 2001
Lieu: Portland, OR, Etats-Unis
Messages: 1584
Une chose que j'ai remarqué est que si vous utilisez Linux, vous devez modifier l'écho des déclarations de "echo-e". Cela va laisser le \ c opérateurs travail.

Qu'est-ce que tu essaie de faire ici? Je vais avoir un moment difficile la lecture du script (regardez, il est tard, et j'ai été de brancher quelques heures supplémentaires au-dessus de mes longues journées normalement ...). Il semble que vous pourriez utiliser certains commentaires ...

Avez-vous penché comment utiliser "cas" pour le moment? Si oui, vous pencher sur l'aide de mai que - vous pouvez couper une grande partie de la confusion ", si" les déclarations de là ...
  #3 (permalink)  
Old 10-19-2001
dezithug dezithug is offline
Registered User
  
 

Join Date: Oct 2001
Lieu: Los Angeles
Messages: 6
bien voir .. i 'm en utilisant SCO UNIX .. e .. tout fonctionne .. fine .. sauf dans la boucle de quelque chose de mal iz .. Lorsque je tente de le lancer .. Juss elle d'assurer le ... pour une raison ... nd its soo confusion ..

nous n'avons pas encore appris CAS .. Je sais qu'il serait plus facile .. mais .. i donno la façon d'utiliser CAS ..

si yoiu peut encore penser à quelque chose .. dat serait gr8

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

Date d'inscription: juillet 2001
Lieu: Portland, OR, Etats-Unis
Messages: 1584
Well, first off, il m'a beaucoup aidé à regarder le code de tirets dans celle-ci:
Code:
#!/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
Maintenant, la première chose que je tente habituellement lors de la tentative de figureout ce que mon script est fait, c'est d'ajouter un "set-x" de la ligne en haut du script. C'est l'écho de chaque étape, la coque est la réalisation, afin que vous puissiez voir ce qui se passe ...

Donc, la façon dont j'ai couru le script, (je vais donner un exemple de ce que je pense que j'ai vu d'essayer d'utiliser le "-e 4" en option), il s'est coincé dans une boucle à l'adresse suivante:
+ \u003d 1 ans
+ '[' 1-eq 0 ']'
+ '[' 1-le 4 ']'
+ + Expr 1% 2
Ok, intéressant ... regardons cela. Donc, ce que le script est fait étape par étape:
Code:
     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
Voyez-vous ce que vous avez problème? Astuce: $ ans toujours égales à 1 dans ce cas

Voici un autre (messier, mais plus d'infos) façon de faire:
Code:
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 cette façon, vous pouvez regarder votre script en action ... C'est presque comme si il ne sait pas quand à la sortie, à droite?

Vous mai besoin d'un peu de re-conception, mais je pense que vous êtes à peu près sur la bonne voie

(Oh, et je appologize, j'ai changé quelques-unes des "echo" 's "echo-e" s', car je regardais cela sur un système Linux ...

Est-ce que cela aidera tout?
  #5 (permalink)  
Old 10-24-2001
dezithug dezithug is offline
Registered User
  
 

Join Date: Oct 2001
Lieu: Los Angeles
Messages: 6
voir .. i still donno watz .. mal .. mais .. wat maintenant je suis à Trin iz .. break da programme pour lil programz .. et .. Trin seulement option-e .. seulement pour que .. et oublier les autres options .. espérons que cela aidera lol .. mais .. thnx nwyz .. J'ai essayé .. votre code .. mais encore didnt get .. wat happend .. Je sais que sa .. le module .. chose foutu ..
ahh .. lol .. J'ai été sur ce workin comme pour 3 weekz .. maintenant .. lol. et de son dû sur novembre. 8e .. i have .. un peu plus de temps ..


thnx .. mais encore .. i appreciate it
  #6 (permalink)  
Old 10-24-2001
dezithug dezithug is offline
Registered User
  
 

Join Date: Oct 2001
Lieu: Los Angeles
Messages: 6
je vous remercie veryyyyy muchhhhh!

enfin, i got it .. de travailler whoooooooooooooooohooooooooooooooooooooooooooo .. lol .. damn .. dat m'a .. nuff long. .. lol .. un tel programme. e m'a .. 3 weekz bout .. damn ..

nwy z. .. thnx for your help bro .. i appreciate it ... beaucoup ..



Pz out!!

Encore une fois Thnx!
  #7 (permalink)  
Old 10-24-2001
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Date d'inscription: juillet 2001
Lieu: Portland, OR, Etats-Unis
Messages: 1584
Right on! Pouvez-vous envoyer votre solution pour nous voir?
Closed Thread

Bookmarks

Tags
linux

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 12:12 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0