2016-08-31 7 views
1

これはLinux/Unix端末で実行できるものなのか分かりませんので、私は尋ねると思っていました。タブでのファイル拡張子Bash -

特定のプログラムでは、ファイル名の入力が終了したら(残念ながら、は私の頭の上から外れることは考えられません。タブ上で.aux拡張子が拡張されます)ドットと拡張子)、私はtabを打つと、ドット+ファイル拡張子を「自動完成」することに気付きました。

これは何とか実際に制御できるものですか?それはbashスクリプト自体に固有ではありません確かに

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

、しかし:私はbashスクリプトを書いた場合たとえば、唯一*の.texファイルで働いていた(私たちはそれcompile.shを呼ぶことにします)、私は次のことを行うことができます私が上記の実行可能ファイルを使用していることを認識する他の手段によって。

LaTeXを使用しているときによくあることですが、同じベース名で同じ拡張子の異なる複数のファイルが存在することがあります。定義済みの拡張子を持つファイルのみを受け入れることができます。

+1

は[これ](https://ubuntuforums.org/showthread.php?t=1885851)でしょうか? – Matthias

+0

@Matthiasこれも。ありがとう – bjd2385

答えて

3

compile.shのカスタム完了機能を定義しても、*.tex個のファイルにしか一致しないことは確かです。 良い補完関数を書くのは、幅広い作業ですが、あなただけの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 Scripting Guide http://www.tldp.org/LDP/abs/html/tabexpansion.htmlの付録Jでそれを見つけました。どのようにクール!そして簡単! – bjd2385

+0

ええ、私はちょうど再起動し、これは動作します! – bjd2385

関連する問題