Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
Google Site



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.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søg denne tråd Karakter: Thread Rating: 1 votes, 5.00 average. Display Modes
  #1 (permalink)  
Old 01-11-2006
Registreret Bruger
 

Join Date: Feb 2005
Stillinger: 146
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
  #2 (permalink)  
Old 01-11-2006
bhargav's Avatar
bhargav bhargav is offline Forum Advisor  
Registreret Bruger
 

Join Date: Sep 2004
Beliggenhed: USA
Stillinger: 511

Code:
count=`wc -l file1 | tr -s " " | cut -d" " -f 2`
echo $count

while test $count -gt 0
do
    echo "Enter input :"
    read input
    echo $input
    ((count=count-1))
done


Sidst redigeret af bhargav; 01-11-2006 på 04:48 PM..
  #3 (permalink)  
Old 01-11-2006
Registreret Bruger
 

Join Date: Feb 2005
Stillinger: 146
Citat:
Oprindeligt Indsendt af bhargav
Code:
count=`wc -l file1 | tr -s " " | cut -d" " -f 2`
echo $count

while test $count -gt 0
do
    echo "Enter input :"
    read input
    echo $input
    ((count=count-1))
done

Bhargav,

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 < testfile

Nogen tanker?
Jerardfjay

Sidst redigeret af jerardfjay; 01-11-2006 på 05:27 PM.. Årsag: afklaring af svar
  #4 (permalink)  
Old 01-11-2006
Registreret Bruger
 

Join Date: Dec 2005
Beliggenhed: London
Stillinger: 222

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..
  #5 (permalink)  
Old 01-11-2006
Perderabo's Avatar
Unix Daemon
 

Join Date: Aug 2001
Beliggenhed: Ashburn, Virginia
Indlæg: 9.150
Eller gøre dette:

Code:
while read line
do
read test?"Enter a Value:"  < /dev/tty
done < testfile

  #6 (permalink)  
Old 01-12-2006
Registreret Bruger
 

Join Date: Feb 2005
Stillinger: 146
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
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er Slukket


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



Alle tidspunkter er GMT -4. Den tid er nu 09:23 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Indhold Copyright © 1993-2010. Alle rettigheder Reserved.Ad Management by RedTyger

Content Relevant webadresser ved vBSEO 3.2.0