linux 脚本 怎么把一个目录下的所有文件名放到一个数组中,求大神指教

尝试的脚本:
cd $pathname
ls $pathname > folderlist
chmod 774 folderlist
cat folderlist

t=0
while read LINE
do
folder_list[$t]=$LINE
t=`expr $t + 1`
done < $folderlist
错误提示:
line 14: folderlist: Permission denied
chmod: cannot access `folderlist': No such file or directory
cat: folderlist: No such file or directory
draft.sh: line 23: $folderlist: ambiguous redirect

第1个回答  推荐于2017-12-16
IFS=$(echo -en "\n\b") #为了处理文件名中的空格、TAB
cd $pathname
j=0
for i in `ls -1`
do
    folder_list[j]=$i
    j=`expr $j + 1`
done

本回答被提问者采纳
第2个回答  2020-03-30
cd $pathname
name=*
arr=${name[@]}
echo @arr
第3个回答  2018-03-16
declare -a FILE
FILE+=(*)
相似回答