Bash:将目录名添加到数组中

时间:2017-11-20 15:07:59

标签: bash

正如标题所说,我想将目录名称添加到数组中,但无法弄清楚如何。这就是我到目前为止所做的:

path=some/path/in/linux

declare -a categ_array

for d in ${path}/*; do
    #strip directory name of the path
     dir_name=${d##*/}

     #add the directory name into array
     categ_array+=("${dir_name}")
done

echo ${categ_array}

此代码仅输出1个目录名称(无论我有多少目录)。

1 个答案:

答案 0 :(得分:4)

您需要使用此命令打印所有目录:

echo "${categ_array[@]}"

虽然你可以避免循环而只是使用:

cd "$path"
categ_array=()
categ_array+=(*/)

检查结果:

declare -p categ_array