echo *, 그것이 무엇인지 알 수 없습니다

echo *, 그것이 무엇인지 알 수 없습니다

명령의 출력 echo *이 다음 줄이라는 책이 있습니다. 왜 이것이 출력되는지 찾을 수 없습니다. 도와주세요.

$ echo *
local.cshrc local.login local.profile

답변1

*현재 디렉터리의 파일 및 디렉터리 이름과 일치하는 셸 특수 문자(전역 일치)입니다.

$ ls *

그러면 현재 디렉터리의 모든 파일과 디렉터리가 나열됩니다. 따라서 귀하의 경우에는 "*"가 반환되고 "echo"는 이를 콘솔에 인쇄합니다. 확인하려면 다음을 시도해 보세요.

$ x=*
$ echo $x 

답변2

당신은와일드카드- 및 와 함께 사용됩니다 *.globbingfile-expansion

위에 참조된 링크는 이에 대해 자세히 설명합니다.

다양한 명령줄 유틸리티는 표준 와일드카드 문자(와일드카드 패턴이라고도 함)를 사용하여 여러 파일을 처리합니다. 표준 와일드카드(와일드카드 패턴)에 대한 자세한 내용은 다음을 입력하여 매뉴얼 페이지를 참조하십시오.

그리고

*(별표) 임의 개수의 문자를 나타낼 수 있습니다(0개 포함, 즉 0개 이상의 문자 포함). "cd*"를 지정하면 "cda", "cdrom", "cdrecord" 및 "cd" 자체를 포함하여 "cd"로 시작하는 모든 항목이 사용됩니다. "m*l"은 mill, mull, ml 및 m으로 시작하고 l로 끝나는 모든 항목이 될 수 있습니다.

관련 정보