|
|
|
|
Google Site
|
|||||||
| Forums | Registrer | Blogg | Man Pages | Forum Rules | Lenker | Album | FAQ | Brukere | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
![]() |
|
|
Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|||
|
Problem med dynamiske variabler utenfor loopen
Hei Alle, Shell er ksh Jeg har gitt del av skriptet her for å forklare problemet. Det vil akseptere 2 inndataparametere. Code:
in_file1=$1 in_file2=$2 outbound_dir=/home/outbound for i in 1 2 do eval file$i=$outbound_dir/\$in_file$i eval echo "filename is \$file$i" eval temp_file=$outbound_dir/\$in_file$i eval FILE$i_LINE_COUNT=`wc -l < $temp_file` eval echo "Total lines in file$i are \$FILE$i_LINE_COUNT" done echo "file1 name outside loop is $file1" echo "file1 count outside loop is $FILE1_LINE_COUNT" Når jeg er vis fil1 og $ FILE1_LINE_COUNT variabler inne i loopen dens gi riktige verdier. Men ouside loopen får riktige verdien for kun fil1 variabel ikke får for $ FILE1_LINE_COUNT variabel. kan du pls hjelpe meg. Sist endret av Franklin52; 08-21-2009 kl 01:38.. Årsak: Legge til koden koder og reformatere koden |
| Sponsede lenker | ||
|
|
|
|||
|
First off, kan du formatere innlegget ditt så det er leselig. Ikke leser innlegget nøye, men basert på den siste setningen, ta en titt på Telle poster i variabler Hvordan kommer dette fungerer, men
|
|
|||
|
Bedre, kan du bruke koden koder for kode. I alle fall har dette ingenting å gjøre med sløyfen spesielt. Erstatt Code:
eval FILE$i_LINE_COUNT=`wc -l < $temp_file` med Code:
eval FILE${i}_LINE_COUNT=`wc -l < $temp_file`Du var tilordner ordantall utgang til $ FILE siden $ i_LINE_COUNT var udefinert. Surround the 'i' klammeparentes å skille det fra resten av linjen. |
|
|||
|
takk for svar .... det virker fint med klammeparentes.
eval file $ i \u003d $ outbound_dir / \ $ in_file $ i eval echo "filnavn er \ $ file $ i" eval temp_file \u003d $ outbound_dir / \ $ in_file $ i eval FIL $ (i) _LINE_COUNT \u003d `wc-l <$ temp_file` Kan jeg bruke $ file $ i stedet for $ temp_file i over linjen? |
| Sponsede lenker |
|
|
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Bruke variabler opprettet sekvensielt i en loop mens du fremdeles er inne i loopen [bash] | DeCoTwc | Shell programmering og Skripting | 2 | 06-23-2009 05:59 |
| globale variabler og dynamisk allokering | littleboyblu | Programmering | 3 | 04-09-2009 07:35 |
| dynamiske variabler | max_payne1234 | UNIX for Dummies Spørsmål og svar | 4 | 09-05-2008 04:10 |
| Dynamisk oppdatering loop spørring på Sybase-database | Alaeddin | Shell programmering og Skripting | 10 | 12-13-2007 06:26 |
| Dynamiske variabler innenfor shell script | isingh786 | Shell programmering og Skripting | 2 | 01-25-2007 09:44 |