2016-08-31 2 views
1

이것이 Linux/Unix 터미널에서 수행 할 수있는 것인지 확실하지 않아서 궁금합니다.탭에서 예상되는 파일 확장자 Bash -

일부 프로그램의 경우 불행히도 파일 이름을 입력하기가 끝났 으면 (불행히도은 내 머리 꼭대기에서 탭을 자동으로 확장합니다. 확장자는 .aux입니다) 도트 및 확장자)를 입력하면 tab을 누르면 점 + 파일 확장명이 '자동 완성'됩니다.

어떻게 든 실제로 제어 할 수 있습니까? 이 bash는 스크립트 자체에 내재 아니다 확실히

$ ./compile.sh nameOfProgram -- tab and autocomplete .tex extension -- 

:하지만, 나는 bash는 스크립트를 작성하는 경우 예를 들어, 단지 *의 .tex 파일과 협력 (우리가 compile.sh 전화 할게), 나는 다음을 수행 할 수 내가 그 실행 파일을 사용하고 있음을 인정하는 다른 수단에 의해.

종종 LaTeX을 사용하는 경우처럼 동일한 기본 이름을 가지지 만 확장명이 다른 동일한 파일이 여러 개 있습니다. 미리 정의 된 확장명을 가진 파일 만 받아 들일 수 있기를 바랍니다.

+1

은 [this] (https://ubuntuforums.org/showthread.php?t=1885851) 일 것입니다. – Matthias

+0

@Matthias 이것 역시. 감사합니다 – bjd2385

답변

3

*.tex 파일과 일치하는 compile.sh에 대한 사용자 지정 완성 함수를 정의 할 수 있습니다. 좋은 완성 기능을 작성하는 것은 광범위한 작업입니다,하지만 당신은 단지 compile.sh에 대한 인수 *.tex 유효한 완료 일치하는 파일을 처리합니다

# Add to your .bashrc file to enable in every shell, not just 
# the current shell 
complete -G '*.tex' compile.sh 

매우 간단한 일을 할 수 있습니다.

+1

내가 본 바로는 이것이 내가 찾고 있었던 바로 그 것이다. 나는 또한 tldp Advanced Bash 스크립팅 가이드 http://www.tldp.org/LDP/abs/html/tabexpansion.html의 부록 J에서 찾아 냈습니다. 얼마나 시원한가! 그리고 간단합니다! – bjd2385

+0

예. 방금 다시 시작한 후 작동합니다! – bjd2385