LINUX:列出所有目录,推入bash数组

Sno*_*Mac 3 linux arrays bash scripting

这是我想要的最终结果:

我有超过15个用户的克隆应用程序的实例,有时我需要更新文件(它们几乎保持不变 - 一切都是动态的.这是更新/新功能).我写了一个非常简单的bash脚本,我必须手动将每个用户从/ home /放入数组中.但我需要这个扩展.

如何获取目录列表(类似于LS命令)仅将DIRECTORY名称提供给bash数组.可能我会在bash文件中想要这个命令,因为我希望它抓住/ home /目录中的所有用户,推入阵列(例如:webUsers(adam john jack)

这是我当前脚本的样子快照(非动态用户列表)

webUsers( adam john jack )

for i in "${webUsers[@]}"
do 
 cp /home/mainSource/public_html/templates/_top.tpl /home/$i/public_html/templates
done 
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?

Pau*_*ce. 7

做这个:

webUsers=(/home/*/)
Run Code Online (Sandbox Code Playgroud)

内容如下:

$ declare -p webUsers
declare -a webUsers='([0]="/home/adam/" [1]="/home/jack/" [2]="/home/john")'
$ echo ${webUsers[1]}
/home/jack/
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想要父目录:

pushd /home
webUsers=(*/)
popd
Run Code Online (Sandbox Code Playgroud)

你会得到:

$ declare -p webUsers
declare -a webUsers='([0]="adam/" [1]="jack/" [2]="john")'
$ echo ${webUsers[1]}
jack/
Run Code Online (Sandbox Code Playgroud)