2014-07-25 3 views
1

다른 사람이 cd *을 사용한 후 ls 등의 다른 명령을 사용하는 것을 보았습니다.cd *는 bash에서 무엇을합니까?

무엇이 있나요? 누군가 그것을 설명 할 수 있습니까?

+0

*는 와일드 카드입니다 –

답변

4

셸은 *을 현재 디렉터리 내용의 영문자 목록으로 확장합니다.

cd은 첫 번째 인수 이후의 모든 인수를 무시합니다.

행운의 및/또는 극히 제한된 상황에서 와일드 카드 확장의 첫 번째 항목을 사용하여 cd에 입력 할 디렉토리로 지정할 수 있습니다.

현재 디렉토리를 만들고 생성 한 후 하위 디렉토리를 채운 경우 유용 할 수도 있고 재미있을 수도 있습니다. 다른 실제 사용법이있을 수 있다고 상상하기가 어렵습니다.

+3

오늘 새로운 쉘 트릭을 배우고 싶다면, 편집을 위해 이전 명령의 마지막 인수 인'M-.'을 다시 호출하기위한 Bash 기본 바인딩을 배우십시오. – tripleee

3

이 명령은 현재 경로의 첫 번째 항목 (파일이나 디렉토리)에 확장 이후 현재 경로에서 첫 번째 목록은 디렉토리 경우

cd * 

에만 작동합니다. echo *을 통해 무엇이 먼저 오는지 알 수 있습니다.

알파벳순으로 처음 확장 할 때 .bashrc 또는 점으로 시작하는 다른 파일 이름 같은 파일을 줄 수 있으므로 필자는이 파일을 사용하지 않을 것을 제안합니다.

+1

자동 완료되지 않으므로 첫 번째 일치 항목 만 선택 하시겠습니까? (첫 번째 일치 항목이 디렉토리 인 경우에만 작동 함) –

+0

예, 실패 할 수 있으므로 사용하지 않으려 고 답변에 추가했습니다. – anubhava

+2

'*'는'.'로 시작하는 파일 이름과 일치하지 않아야합니다. – glglgl