Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8898517
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T00:38:01+00:00 2026-06-15T00:38:01+00:00

while read dir ev file; do # do stuff done The part I can’t

  • 0
while read dir ev file; do
    # do stuff
done

The part I can’t find an explanation for is the read dir ev part. I’m not familiar with Bash. I mainly do PHP and MySQL. Can anyone explain?

Thanks.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T00:38:02+00:00Added an answer on June 15, 2026 at 12:38 am

    The short version is, it takes a single line at a time from the input and assigns individual fields from it into variables.

    read dir ev file would read lines one by one and expect each line to contain 3 items. It would then assign the first item into a variable named dir, the second into a variable named ev, and the third into a variable named file.


    From the output of help read:

    (Edit: more readable version here: http://ss64.com/bash/read.html)

    read: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
        Read a line from the standard input and split it into fields.
    
        Reads a single line from the standard input, or from file descriptor FD
        if the -u option is supplied.  The line is split into fields as with word
        splitting, and the first word is assigned to the first NAME, the second
        word to the second NAME, and so on, with any leftover words assigned to
        the last NAME.  Only the characters found in $IFS are recognized as word
        delimiters.
    
        If no NAMEs are supplied, the line read is stored in the REPLY variable.
    
        Options:
          -a array  assign the words read to sequential indices of the array
                    variable ARRAY, starting at zero
          -d delim  continue until the first character of DELIM is read, rather
                    than newline
          -e                use Readline to obtain the line in an interactive shell
          -i text   Use TEXT as the initial text for Readline
          -n nchars return after reading NCHARS characters rather than waiting
                    for a newline, but honor a delimiter if fewer than NCHARS
                    characters are read before the delimiter
          -N nchars return only after reading exactly NCHARS characters, unless
                    EOF is encountered or read times out, ignoring any delimiter
          -p prompt output the string PROMPT without a trailing newline before
                    attempting to read
          -r                do not allow backslashes to escape any characters
          -s                do not echo input coming from a terminal
          -t timeout        time out and return failure if a complete line of input is
                    not read withint TIMEOUT seconds.  The value of the TMOUT
                    variable is the default timeout.  TIMEOUT may be a
                    fractional number.  If TIMEOUT is 0, read returns success only
                    if input is available on the specified file descriptor.  The
                    exit status is greater than 128 if the timeout is exceeded
          -u fd             read from file descriptor FD instead of the standard input
    
        Exit Status:
        The return code is zero, unless end-of-file is encountered, read times out,
        or an invalid file descriptor is supplied as the argument to -u.
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Say you have a simple loop while read line do printf ${line#*//}\n done <
I have part of my script that goes like this: while read line do
while (true) { //read in the file StreamReader convert = new StreamReader(../../convert.txt); //define variables
This is my code: grep $to_check $forbidden >${dir}variants_of_interest; cat ${dir}variants_of_interest | (while read line;
$d = opendir(docs); while (($file = readdir($d)) !== false) { if (($file != .)
Is it safe to read directory entries via readdir() or scandir() while files are
I've got a script like this: dyski=$(df -h) while read wiersz; do i=0; for
I'm trying to do something like var=0 grep foo bar | while read line;
#include <stdio.h> int main() { char read = ' '; while ((read = getchar())
I am trying to cast a char as follows: while (Reader.Read()) { VM VMResult

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.