![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| UNIX e avanzata per utenti esperti Expert-to-Expert. Ulteriori avanzata UNIX, comandi UNIX, Linux, Sistemi Operativi, System Administration, Programmazione, Shell, Shell Script, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Bourne Shell script - log per gli utenti loggin on e off | noodlesoup | Shell scripting e di programmazione | 14 | 09-08-2006 11:30 PM |
| Bourne: Come invocare un alias all'interno di uno script di shell | techshots | Shell scripting e di programmazione | 2 | 06-04-2006 01:38 AM |
| cd da un Bourne Shell Script - Please Help | fawqati | Shell scripting e di programmazione | 10 | 05-25-2006 04:26 AM |
| Bourne Shell Script | dmhonor914 | UNIX for Dummies Domande & Risposte | 2 | 12-10-2003 12:25 PM |
| Bourne shell script | psrinivas | Shell scripting e di programmazione | 2 | 12-06-2001 03:38 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
ho questo incarico .. i pazzi e questo script, ma c'è qualcosa che non va con esso .. se qualcuno può dirmi .. watz in corso ... i would appreciate it .. thnx in anticipo .. Codice:
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 nuovamente ![]() aggiunta di tag per la leggibilità del codice - oombera Ultimo a cura di oombera; al 02/20/2004 11:51 AM.. |
|
||||
|
ben vedere .. i 'm utilizzando SCO UNIX .. nd .. tutto funziona .. bene .. fatta eccezione per il ciclo iz qualcosa di sbagliato .. quando si tenta di eseguire .. si Juss tenere in corso ... per qualche motivo ... secondo il suo soo confusione ..
non abbiamo ancora imparato CASO .. So che sarebbe più facile .. ma .. i Donno come utilizzare CASO .. yoiu se è ancora in grado di pensare a qualcosa .. dat sarebbe GR8 Thnx |
|
|||||
|
Beh, in primo luogo al largo, mi ha aiutato molto a guardare il codice con trattino in essa: Codice:
#!/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
Ora, la prima cosa che di solito quando si cerca di provare figureout quello che sta facendo il mio script è di aggiungere un "set-x" linea nella parte superiore dello script. Ciò eco di ogni fase della shell è il rendimento, in modo da poter vedere cosa sta succedendo ... Così, il modo in cui ho eseguito lo script, (I'll dare un esempio di ciò che ho visto credo che tentare di utilizzare l'opzione "-e 4" opzione) si è rimasti bloccati in un ciclo a: Ans \u003d 1 + + '[' 1-eq 0 ']' + '[' 1-il 4 ']' Expr + + 1% 2 Ok, interessante ... guardiamo a questo. Quindi, ciò che sta facendo lo script passo per passo: Codice:
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
Non si vede ciò che si è problema? Suggerimento: $ ans sarà sempre pari a 1 in questo caso Ecco un altro (Messier, ma più info) modo di farlo: Codice:
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`"
In questo modo, potrete guardare il vostro script in azione ... E 'quasi come se non sa quando uscire, giusto? Potrebbe essere necessario un po 'di ri-progettazione, ma penso che sei molto sul binario giusto (Ooh, e mi appologize, ho cambiato alcune delle "eco" 's per "echo-e"' s, sin da quando ero alla ricerca in questo su un sistema Linux ... Se questo aiuto qualsiasi? |
|
||||
|
v. .. ancora i Donno watz .. sbagliato .. ma .. wat adesso sto a fare iz Trin .. pausa da programma per lil programz .. e .. Trin solo opzione-e .. solo che per .. e dimenticare le altre opzioni .. speranza che li aiuterà lol .. ma .. thnx nwyz .. ho provato .. il codice .. ma ancora didnt get .. wat happend .. So che la sua .. il modulo .. cosa avvitato fino ..
ahh .. lol .. I've been workin su questo, come per 3 weekz .. ora .. un sacco di risate. e la sua causa a nov. 8. .. Ho .. un po 'di tempo .. thnx .. nuovamente se .. I appreciate it |
|
||||
|
la ringrazio veryyyyy muchhhhh!
infine i got it .. a lavorare whoooooooooooooooohooooooooooooooooooooooooooo .. lol .. damn .. dat mi ha portato .. nuff lungo. .. lol .. quali un semplice programma. secondo me ha preso .. bout 3 weekz .. damn .. nwy z. .. thnx bro per il vostro aiuto .. Mi rendo conto che ... molto .. ![]() Pz. out!! Ancora una volta Thnx! |
![]() |
| Segnalibri |
| Tag |
| linux |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|