Yash 2 その 160: 補完処理の設計指針 その 2
前の記事の続き。補完対象文字列にブレース展開が入っている場合。
補完対象文字列のブレース展開が入っているがワイルドカードは入っていない場合は、前の記事に書いたようなやり方でファイル名が補完できる。例えばsample.txt
sample.exe
という二つのファイルがあるとして、ls sample.{txt,e まで入力したところでxe
を補完させたい。この場合は、四種展開とブレース展開を行って sample.e
を得た後、ワイルドカードを付加してファイル名展開を行い sample.exe
を得る。ワイルドカードを付加する前の値と得られたファイル名とを比較すると、入力中のファイル名にxe
を補えばよいことが分かる。
補完対象文字列にブレース展開とワイルドカードの両方がある場合は、補完は意味をなさない。前の記事に書いたようにして補完対象文字列を置き換えると、ブレース展開後の他のファイル名に影響を与えてしまう。
| 固定リンク
コメント