답변1
이것은 *
... 불리운다"전반적인 상황” 그리고 bash에 의해 “현재 디렉터리의 모든 파일”로 확장되므로 기본적으로 현재 디렉터리에 있는 모든 파일의 공백으로 구분된 목록으로 확장됩니다(이것은 일반적으로 많은 bash 내장 파일에서 예상되는 형식 구조입니다. 흐름 제어).
Globs는 그 자체로 사용할 수 있을 뿐만 아니라 표현식의 일부로도 사용할 수 있으므로 bash 변수에 디렉토리가 저장되어 있다고 가정합니다 $searchdir
(bash 변수 이름을 지정할 때 실수로 중요한 환경 변수를 덮어쓰지 않도록 주의하세요. 예를 들어 $PATH
)
select s in "$searchdir"/*
"의 모든 파일"로 확장됩니다 $searchdir
.
노트그러나 디렉토리가 비어 있으면 표현식은 다음과 같습니다.문자 그대로의 의미 *
(또는 말 그대로 /the/actual/value/pointed/to/by/searchdir/*
) 설정하지 않는 한nullglob
옵션통과하다
shopt -s nullglob
그런 다음 디렉터리가 비어 있으면 glob 구성이 일반적으로 원하는 빈 목록으로 확장됩니다.