bashunixcygwin

Reading filenames into an array


I want to get a list of files and then read the results into an array where each array element corresponds to a file name. Is this possible?


Solution

  • Don't use ls, it's not intended for this purpose. Use globbing.

    shopt -s nullglob
    array=(*)
    array2=(file*)
    array3=(dir/*)
    

    The nullglob option causes the array to be empty if there are no matches.