【发布时间】:2019-08-27 04:48:51
【问题描述】:
我有 bash 脚本显示目录:\
for D in /home/*; do
if [ -d "${D}" ]; then #If a directory
domain=${D##*/} # Domain name
echo "- "$domain;
fi
done
echo "Finished";
我有 2 个目录名称“默认”和“暂停”。我不想列出这两个目录名称。 请帮帮我!
【问题讨论】:
-
if [ -d "${D}" -a "${D}" != 'default' -a "${D}" != 'suspended' ] ... -
不要使用
-a;请改用[ ... ] && [ ... ] && [ ... ]。或者因为这是bash,[[ ... && ... && ... ]]。 -
您可以首先使用
/home/*/仅选择目录,从而无需-d测试。 -
@chepner 嘿,
-a有什么问题?我喜欢它 -
@oguzismail Bash FAQ 017 甚至表示
-a的结果未定义。
标签: linux bash centos directory centos7