微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

这是我想要的最终结果:

我有超过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 

我该如何实现这一目标?

解决方法:

做这个:

webUsers=(/home/*/)

内容如下:

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

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

pushd /home
webUsers=(*/)
popd

你会得到:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐