【发布时间】:2020-05-31 22:50:08
【问题描述】:
我正在为我的服务器备份编写一个 bash 脚本。 基于我的网络根目录(/home),我想过滤我的网络目录,排除一些将军。 我找到了 --ignore 选项。这是我的代码,用于返回我想要的内容。
DIR_LIST=`ls -al $WWW_ROOT --ignore={.,..,ubuntu,test} | grep "^d" | awk '{ print $9 }'`
echo $DIR_LIST;
但是当我尝试使用数组时,它的效果并不好。
EXCLUDED=(. .. test ubuntu)
STR=$(IFS=,; echo "${EXCLUDED[*]}")
DIR_LIST=`ls -al $WWW_ROOT --ignore={$STR} | grep "^d" | awk '{ print $9 }'`
echo $DIR_LIST;
echo $STR 效果很好,但 echo $DIR_LIST 效果不佳。 我认为大括号不能正常工作。
如何才能如我所愿?
【问题讨论】: