2

スクリプト内の固定ディレクトリで bash タブ補完を使用するにはどうすればよいですか? ~/pdfPDFファイルを含むディレクトリがあるとします。これらのファイルを表示するための簡単なスクリプトを作成したいと思いますviewpdf

#! /bin/bash

evince $1

私がディレクトリ~/foo/barにいて writeviewpdf ~/pdf/test.pdfにいるとしましょう。その後、ファイルを表示できます。ただし、同じ結果が得~/pdfられるように、ディレクトリでbashタブ補完を使用したいと思います。viewpdf t <tab><tab>これはどのように行うことができますか?

4

2 に答える 2

3

最初の概算として、次に試すことができます

_cmd() { COMPREPLY=($(ls ~/pdf/*.pdf)); }    
complete -F _cmd viewpdf

それをソースし、あなたは使用することができます

viewpdf <tab> #and will get the list of pdf files from the ~/pdf

単純なpdfコンペが必要な場合は、

complete -f -X '!*.@(pdf|PDF)' viewpdf
于 2013-05-03T20:04:13.270 に答える