bash를 더 친숙하게 만드는 방법이 있습니까?


31

내 Mac과 cygwin 쉘 모두에서 bash를 사용합니다. 전반적으로, 나는 그것을 매우 기쁘게 생각합니다.

그러나 한 가지 불만은 TAB 완료가 Windows Command Line TAB 완료만큼 좋지 않다는 것입니다.

예를 들어 동일한 접두사를 가진 두 개의 파일이 있으면 Tab 키를 누르면 Tab complete를 시도 할 때 경고음이 울립니다. 탭을 계속 고정하면 결국 잠재적 인 파일 목록이 표시됩니다.

필자는 명령 줄에서 Windows가 잠재적 파일을 순환하는 방법을 확실히 선호합니다.

이와 관련하여 bash를 Windows 명령 줄과 유사하게 작동시키는 방법이 있습니까?

그렇지 않으면 (쉘을 전환하고 싶지 않습니다) bash에서 Tab 완성에 대해 뭔가 빠졌습니까? 더 효율적인 방법이 있습니까?

답변:


42

'가능한 완료주기'동작을 얻으려면 다음을 .bashrc 파일의 적절한 위치에 복사하십시오.

[[ $- = *i* ]] && bind TAB:menu-complete

또한 bash-completion 은 경로 이름 완성 외에도 많은 추가 종류의 완성을 제공합니다. 예를 들어, 메뉴 완성은 Git의 bash 완성 모듈과 함께 잘 작동하여 명령 이름, 옵션 이름 등을 완성합니다.


OSx 터미널에서이 작업을 수행하는 절차는 무엇입니까?
Alex

2
@Alex : .bashrc지정된 행을 포함하도록 홈 디렉토리 의 파일 을 편집하십시오 . 귀하의 경우 .bash_profile(같은 디렉토리에) 파일도 같은 라인이없는 source ~/.bashrc, 당신은 또한 같은 라인을 포함하도록 편집해야합니다. 설정은 새 터미널 창 에서 활성화됩니다 . 선호하는 편집기가 없으면 다음 명령을 사용하여 TextEdit 에서 파일을 열 수 있습니다 open -e ~/.bashrc. 파일이 아직 없으면 먼저 명령을 사용하여 파일을 만들어야합니다 (예 :) touch ~/.bashrc.
Chris Johnsen '12

1
@Alex, Bash는 10.7 (Lion)을 포함하여 10.3 이상의 기본 쉘입니다. 첫째 echo $SHELL. 사용자 계정에 선택된 셸이됩니다. 그것이 원하는 것이 아닌 경우, 쉘 chpass -s /bin/bash(또는 원하는 쉘)로 쉘을 변경해야합니다 . $ SHELL에 문제가없는 경우 터미널> 기본 설정> 시작> 셸에서 다음으로 열기를 확인 하고 터미널> 기본 설정> 설정> 프로필> 셸> 시작 으로 사용자 정의 명령으로 기본 사용자 셸이 재정의되었는지 확인합니다.
Chris 페이지

5
누구든지 Shift + Tab을 사용하여 하나의 옵션으로 돌아가려면 무엇을 바인딩해야하는지 알고 있습니까?
ppp

3
@ ppp 당신의 .bashrc:bind '"\e[Z":menu-complete-backward'
볼트
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.