Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.user > #191531
| From | Gokan Atmaca <linux.gokan@gmail.com> |
|---|---|
| Newsgroups | linux.debian.user |
| Subject | Re: bash array |
| Date | 2018-01-25 15:00 +0100 |
| Message-ID | <vbQem-6FO-5@gated-at.bofh.it> (permalink) |
| References | <v7PTA-3ro-5@gated-at.bofh.it> <v8eff-2SW-3@gated-at.bofh.it> <vbOYV-5TE-3@gated-at.bofh.it> <vbPV0-6zn-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
> =========================================================== > #!/bin/sh > exec 3< "user.list" > exec 4< "pass.list" > > while IFS= read -r user <&3 && IFS= read -r pass <&4 > do > exampleprogram "$user" "$pass" > done > > exec 3<&- > exec 4<&- I arranged according to this example. Very thanks. On Thu, Jan 25, 2018 at 4:34 PM, Greg Wooledge <wooledg@eeg.ccf.org> wrote: > On Thu, Jan 25, 2018 at 03:35:35PM +0300, Gokan Atmaca wrote: >> The problem is: I can pull the users one by one. I can not do the same >> for passwords. > > Why not? > >> Do I need to use "Mapfile" for this? > > How would we know? You haven't told us what is in the files, or what > you want to DO with the contents of the files. > >> passwords=(cat $pass.list) > > Is wrong. > >> mapfile -t pass < "$passwords" > > Would be OK if $passwords contains the NAME of the file. Is WRONG if > $passwords is a string containing the CONTENTS of the file. > > Is also WRONG if passwords is an array containing the word "cat" and the > expansion of "$pass" with the string .list appended to it, which is what > your previous line created. > >> example-script: >> -- user.list >> a >> b >> c >> >> -- pass.list >> xxx >> yyy >> zzz > > With all that whitespace? Or should I just assume that the "xxx" is > NOT indented as shown, but is instead an entire line? > > What do you want to DO with these files? > >> script: >> >> #!/bin/bash >> >> >> pass=$(cat pass.list) > > Now, you see, this is ENTIRELY DIFFERENT from what you showed up above. > > Do you see the difference? Look at the two lines again: > >> passwords=(cat $pass.list) > >> pass=$(cat pass.list) > > If you can't see the difference, you can't write computer programs. > > Moving on.... > >> for i in user=$(cat user.list); do exampleporagram $i $pass; done > > Syntax errors. Logic errors. Cannot even make SENSE of this. > > Are you trying to read ONE USERNAME and ONE PASSWORD at a time, and > pass each PAIR to your "exampleprogram"? > > >> On Mon, Jan 15, 2018 at 5:39 PM, Greg Wooledge <wooledg@eeg.ccf.org> wrote: >> > What kind of array do you want? Why do you even want an array? >> > >> > What is your program supposed to do with these users and passwords? > > Can't you just write ONE SENTENCE to tell us the objective of the script? > > Let's go out on a limb and assume "I want to read one username and > one password at a time, and pass them as a pair of arguments to > 'exampleprogram'." > > The way you would do that is to open the two files, and then read a > line at a time from each file, and then close the files. > > Like this: > > =========================================================== > #!/bin/sh > exec 3< "user.list" > exec 4< "pass.list" > > while IFS= read -r user <&3 && IFS= read -r pass <&4 > do > exampleprogram "$user" "$pass" > done > > exec 3<&- > exec 4<&- > =========================================================== > > > See the following pages: > > http://mywiki.wooledge.org/Quotes > http://mywiki.wooledge.org/FileDescriptor > http://mywiki.wooledge.org/BashFAQ/001 > > Then read this page again, because I know you didn't read it the > first time: > > http://mywiki.wooledge.org/Quotes > > Then keep reading it over and over until you UNDERSTAND it. > > > You do not need an array for this. You don't even need bash features. > I used pure POSIX sh up there, hence the #!/bin/sh shebang. > > > P.S. read http://mywiki.wooledge.org/Quotes > > Also, be sure you quote properly. > > I'm serious. > > Quotes. > > They are NOT optional. >
Back to linux.debian.user | Previous | Next — Previous in thread | Find similar | Unroll thread
bash array Gokan Atmaca <linux.gokan@gmail.com> - 2018-01-14 13:50 +0100
Re: bash array <tomas@tuxteam.de> - 2018-01-14 15:10 +0100
Re: bash array Greg Wooledge <wooledg@eeg.ccf.org> - 2018-01-15 15:50 +0100
Re: bash array Gokan Atmaca <linux.gokan@gmail.com> - 2018-01-25 13:40 +0100
Re: bash array Greg Wooledge <wooledg@eeg.ccf.org> - 2018-01-25 14:40 +0100
Re: bash array Gokan Atmaca <linux.gokan@gmail.com> - 2018-01-25 15:00 +0100
csiph-web