bash에서 확장 와일드 카드를 인라인하는 방법은 무엇입니까?


10

bash는 다음을 수행 할 수 있음을 기억했습니다.

내가 입력 할 때 현재 디렉토리에 a, b, c라는 3 개의 파일이 있다고 가정하십시오.

$> somecommand *

키 또는 키 조합 또는 키 시퀀스를 누르면 와일드 카드 * 온라인이 다음과 같이 확장됩니다.

$> somecommand a b c

그러나 나는 키 시퀀스를 기억하지 못하고 구글을 알아낼 수 없다! 도움!


5
시도Ctrl-X *
Stéphane Chazelas

답변:


7

그렇지 않은 경우 glob-expand-word키 시퀀스 에 바인딩해야합니다 . 일반적으로 다음과 같은 것을 추가하여 :

"\C-x*": glob-expand-word

.inputrc.

현재 상태 문제를 확인하려면 다음과 같이하십시오.

bind -P | grep glob-expand-word

결과는 다음과 같습니다.

glob-expand-word can be found on "\C-x*".

이는 다음을 의미합니다.

Ctrl-x*

이것은 또한 가장 효과가 있습니다 :

Ctrl-xCtrl-*


다른 멋진 bind -P것들을 살펴보고 매뉴얼을 작성하십시오.


3

목록 완성을 찾고있는 것 같습니다. 의 맨 페이지에서 bash:

 COMP_TYPE
     Set to an integer value corresponding to the type of completion
     attempted  that caused a completion function to be called: TAB,
     for normal completion, ?, for listing completions after succes
     sive  tabs, !, for listing alternatives on partial word comple
     tion, @, to list completions if the word is not unmodified,  or
     %,  for  menu  completion.   This variable is available only in
     shell functions and external commands invoked by  the  program
     mable completion facilities

따라서 일부 명령의 완료 기능에 따라 완료 방법이 달라집니다.


2

set -o vibash에서 사용하는 경우 Ctrl-X*작동하지 않습니다.

set -o vi모드 에서는 Esc*대신 사용해야 합니다.


1
일단 정상 모드에 있으면 <C-X>*작동하지만 <C-X>불필요하고 아무것도하지 않습니다. ( <C-X>vi에서와 같이 감소하지 않습니다.) 삽입 모드에 있다면 <Esc>먼저 사용해야 합니다.
wchargin

대단하다. 이것들은 무엇입니까? bash 키보드 단축키? 키보드 단축키를 더 찾을 수있는 문서가 있습니까?
wisbucky

2
@wisbucky : 약간 늦었지만, 다른 사람들에게는 GNU Readline이 책임이 있습니다. 하루가 느리면의 편집 명령 섹션을 읽으십시오 man readline. 나는 Bash를 10 년 동안 사용해 왔으며 여전히 새로운 것을 배우고 있습니다.
Soren Bjornstad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.