무시된 디렉터리 목록을 "tree" 명령에 전달

무시된 디렉터리 목록을 "tree" 명령에 전달

디렉터리 트리를 생성하는 데 필요한 스크립트를 작성 중입니다.

tree무시할 디렉터리 목록과 함께 변수를 전달하는 방법은 무엇입니까 ? 이러한 디렉터리에는 이름에 공백이 있습니다.

나는 다음과 같은 것을 시도했습니다 :

tree -o /volume1/web/eb.html -T "List" --charset UTF-8 -C -I "$to_ignore" -P '*pdf' --prune --noreport /volume1/docs

to_ignore스크립트에 의해 다른 곳에서 생성된 디렉토리 목록이 있습니다 .

'dir1|dir2|dir with space|dir4'

그러나 그것은 작동하지 않았습니다. 공백이 있는 디렉토리에서는 충돌이 발생합니다.

좋아, 변수 주위에 따옴표를 사용하면 충돌이 발생하는 데 도움이 되지만 treepdf 파일이 필요한 디렉토리도 인쇄되어 목록에서 무시됩니다. 명령에서 직접 무시할 디렉터리를 작성하면 이상하게 tree ...도 잘 작동합니다.

답변1

변수를 인용하세요:

$ tree foo                
foo
├── bar foo
│   └── blah
├── baz
│   └── blah
├── foo
├── foo bar
│   └── blah
└── yada

8 directories, 0 files
$ to_ignore='yada|bar foo|baz'
$ tree foo -I "$to_ignore"    
foo
├── foo
└── foo bar
    └── blah

3 directories, 0 files

관련 정보