|
|
|
|
Google Site
|
|||||||
| Forums | Registrer | Blog | Man Sider | Forum Regler | Links | Albums | FAQ | Brugere | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
![]() |
|
|
Thread Tools | Søg denne tråd |
Karakter:
|
Display Modes |
|
|||
|
Forklar læses i et stykke tid loop
Jeg har et script, der forsøger at læse input fra brugeren for hver værdi læses fra en fil. Input-filen er Code:
#> more testfile TEST1 | D200 | 12345601 | | ABC company | m TEST2 | D201 | 12345602 | | ABC company | m Scriptet test.sh er som følger Code:
while read line do read test?"Enter a Value:" done < testfile Men når henrettet, shell aldrig svar på et læste kommando. Code:
#>test.sh #> Er der en læser mulighed, at jeg er nødt til at bruge, når du bruger læse inden for en samtidig loop? Enhver hjælp er meget værdsat. Tak Jerardfjay
|
| Sponsorerede links |
|
|
|
|||
|
Citat:
Jeg har brug for at læse input fra brugeren for hver linje som jeg læste fra testfile. Hvordan vil jeg gennemføre det. Dit eksempel ikke indebærer loop at læse fra en fil samt læsning brugerinput i loop af aflæsning fra en fil. Jeg bruger $ linje variable inden for det loop til at udtrække data, at jeg har brug for andre formål. Code:
while read line
do
var1=$(echo "${line}" | awk -F "|" '{print $2}' | sed -e 's/^ *//g;s/ *$//g')
read input?"Enter value :" <<<---- This read does not work
echo $input
# do some processing with $var1 and $input and continue
done < testfileNogen tanker? Jerardfjay Sidst redigeret af jerardfjay; 01-11-2006 på 05:27 PM.. Årsag: afklaring af svar |
|
|||
|
Code:
while read line do read test?"Enter a Value:" done < testfile I ovenstående kode, i første linje, der står læse linje .. det lyder den første linje fra testfile og tager det i variablen kaldet linje, igen, når du sige læse-test, er det rent faktisk læser den anden linje fra testfile og tager det i variablen test .. det ikke vil tage input fra tastaturet, fordi du har givet input som testfile ved at angive "<". bruge denne kode #! / usr / bin / ksh IFS \u003d " " for linje i $ (<testfile) gøre echo $ linje echo "Indtast værdi:" læse en gjort Sidst redigeret af mahendramahendr; 01-11-2006 på 05:44 PM.. |
|
|||
|
Tak
Takket mahendramahendr og Perderabo. Begge din kode værker. Men jeg foretrækker perderabo's kodestykke siden jeg dont have rodet rundt med IFS. Tak for dit værdifulde input.
Hilsen Jerardfjay |
| Sponsorerede links |
|
|
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| ls mens læse loop - intern læse picking up forkerte input | dkieran | Shell Programmering og Scripting | 2 | 05-14-2007 04:02 PM |
| Mens læse loop og rsh | 104234 | UNIX for Advanced & Ekspertsøgning Brugere | 1 | 01-15-2006 11:53 AM |
| input inde samtidig læse loop | jhansrod | Shell Programmering og Scripting | 3 | 08-13-2005 11:46 AM |
| Indskudt mens læse linje loop | Rakker | Shell Programmering og Scripting | 7 | 06-24-2005 08:42 AM |
| Læs inde i et mens loop | dta4316 | UNIX for dummyer Spørgsmål & svar | 3 | 05-21-2005 11:53 AM |