简体   繁体   English

Bash脚本:列出除指定目录外的所有目录

[英]Bash Script: list all directories EXCEPT specified

I have bash script show directory:\\ 我有bash脚本显示目录:\\

for D in /home/*; do
    if [ -d "${D}" ]; then #If a directory
        domain=${D##*/} # Domain name
        echo "- "$domain;
    fi
done
echo "Finished";

I have 2 Directory name "default" and "suspended". 我有2个目录名称“ default”和“ suspended”。 I do not want to list those 2 directory names. 我不想列出这两个目录名称。 Please help me! 请帮我!

Turn on extended globbing: 打开扩展的globbing:

shopt -s extglob
for D in !(default|suspended)/
do
  domain=...
  ...
done

The !(...)/ selects all directories except those in the list. !(...)/选择列表中的目录以外的所有目录。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM