터미널 일반 자동 완성 기능을 얻는 방법?


1

저는 macOS를 처음 사용하고 macOS Sierra를 사용하고 있습니다.

내 우분투 및 기타 Linux 기반 시스템에서 터미널에는 명령과 옵션을 완료하는 데 도움이되는 자동 완성 기능이 있습니다.

예를 들어 wget다른 명령의 경우 명령 완료 외에 Tab2 번 을 누른 후 모든 명령 옵션 (있는 경우) sudo w이 나열 되거나 모든 명령이 w로 시작됩니다.

우분투 터미널 자동 수집기

그러나 내 Mac에서는 첫 번째 명령 만 완료하고 whoami in 와 같은 옵션이나 명령의 두 번째 부분은 도움이되지 않습니다 sudo whoami.

나는 2 번 who누른 후에 시작하는 모든 명령 목록을 표시하지 않는다는 것을 의미합니다 Tab.sudo who

[2]

https://github.com/git/git/tree/master/contrib/completion/ 에서 git옵션에 대한 스크립트를 찾았 지만 모든 명령과 응용 프로그램 에서이 작업을 수행하려고합니다.

그에 대한 해결책이 있습니까?

답변:



1

완료 기능은 어떤 Terminal응용 프로그램이나 사용자가 작업하는 OS (MacOS X, Linux) 에서도 나오지 않습니다 .

이 기능은 쉘에서 제공합니다. 어떤 기능이 원하는 완성 기능을 제공하는지 확인하려면 Linux에서 어떤 쉘을 사용하고 있는지 확인하십시오.

echo ${SHELL}

그런 다음 MacOS X에서 다음과 같이 로그인 쉘을 변경하십시오.

chsh -s /bin/my_preferred_shell

원하는 완성 기능을 수행하는 것을 사용하십시오.

이 쉘이 존재하고 실행 가능한지 확인하고 다음 문서를 읽으십시오 chsh.

ls -ld /bin/my_preferred_shell

man chsh

위험없이 테스트하려면 세션을 다시 시작하지 말고 새 터미널을여십시오. 오류가 발생하면 chsh한 번 더 실행할 수 있습니다.


bash를
MA Heshmat Khah

원하지 않는 환경이 아니라 원하는 환경에서이 명령을 실행하십시오. :)
dan

이 함수는 일반적으로 일반 쉘이 아니지만 추가 패키지에서 bash_completion을 찾습니다 (예
Mark
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.