이 줄의 *는 무엇을 의미하나요?

이 줄의 *는 무엇을 의미하나요?

저는 작은 스크립트를 작성 중이며 여기에 다음 줄을 사용하여 제가 생각해낸 것과 같은 또 다른 솔루션을 찾았습니다.

for i in *; do

*;여기서 역할/의미는 정확히 무엇입니까? 나는 $변수를 보는 데 익숙하다.

답변1

for i in *; do

다음은 *현재 디렉터리의 모든(숨겨지지 않은) 이름과 일치하는 파일 이름 와일드카드 문자입니다.

루프가 반복될 때마다 변수는 i일치하는 각 이름의 값을 차례로 가져옵니다.*

;다음 은 *(대부분의 다른 장소와 마찬가지로) 개행 문자로 대체될 수 있습니다.

for i in *
do

답변2

모든ls 명령에서 별표의 동작에 대해 혼란스러워함

별표는 [...your...] 명령에 도달하기 전에 확장됩니다.

따라서 패턴과 일치하는 모든 파일 *for

관련 정보