Linuxコマンド.NETLinuxコマンド.NETLinuxコマンドを中心にIT技術関係の情報を発信します。Linuxコマンドについてはできるだけ実行例と実行結果を紹介したいと思います。Linuxコマンドcompleteコマンドは、bashの組み込みコマンドになります。シェルでは入力途中の文字に対してTABを入力すると入力補完機能が働きます。completeコマンドはこの入力補完機能をどのように表示するかを設定できます。...]name:completeコマンドで補完機能を適用する名前。nameは基本的にコマンドやファイル名を設定し、シェルでnameを入力した後にTabを入力するとcompleteコマンドで設定した補完が表示されます。specification,compspec)を確認できます。実行結果では、私の環境で端末の起動時にデフォルトで設定されるcompspecを7つランダムに表示させています。/etc/init.d/ufwまた、個別にcompspecを確認する場合は-pオプションを利用します。ducompspecを設定compspecを設定する場合は、completeコマンドの引数に補完を行うコマンド名を指定します。ここでは、echoコマンドに対する補完で、組み込みコマンドの名前が補完される設定(-bオプション)を行っています。基本的な補完機能はコマンドの後にスペースを置いた後にTabを入力することで表示されます。truecompspecのリストにない時に動作するデフォルトのcompspecは-Dオプションを用いると設定できます。-Dまた、何も入力が行われていないときに動作するcompspecは-Eオプションを用いると設定できます。-E補完オプションを設定(-oオプション)-oオプションにオプションを指定して利用すると補完の動作を少し変更できます。-Dパターンが決まっているリストを補完候補に追加(-Aオプション)-Aオプションにアクションを指定して用いると簡易的に補完候補を追加できます。いくつかのアクションには同等なオプションがあります。true単純なリストを補完候補に追加(-Wオプション)-Wオプションは単語のリストを指定することで、単純なリストを補完候補に追加できます。単語のリストの区切り文字は変数IFSが使用されます。cccコマンドの出力を補完候補に追加(-Cオプション)-Cオプションを用いるとサブシェル環境で実行されるコマンドの出力を補完候補に追加できます。補完候補はコマンドの出力の一行ごとになります。-Cオプションで設定されるコマンド文字列には自動的に引数が追加されます。第1引数にコマンドの名前、第2引数に補完中の単語、第3引数に補完中の単語の前の単語が設定されます。1:echo,2:cc,3:bbと補完され、-Cオプションで指定したコマンドに対して、引数が追加されるのが分かります。追加される引数が必要ない場合などはコマンドを;で区切り、末尾に:(ヌルコマンド)を追加する等を行うとコマンドに追加される引数の意味をなくすことができます。cc関数を用いて補完候補に追加(-Fオプション)-Fオプションで関数を指定するとその関数を用いて補完候補を追加することができます。補完候補は配列変数COMPREPLYに追加します。関数の引数として第1引数にコマンドの名前、第2引数に補完中の単語、第3引数に補完中の単語の前の単語が設定されます。ここでは、簡単な例としてechoコマンドに用いる補完関数をfunc.shに作成します。補完関数の名前は_echoとして、echoコマンドに対して、-nオプションが直前にある場合は組み込みコマンドを、それ以外の場合はhelpコマンドで参照できるコマンドを補完候補として表示します。;;esacCOMPREPLY=(${result[*]})}compgenコマンドはcompleteコマンドと同じオプションを持ち、completeコマンドで表示される補完候補を出力します。compgenコマンドの引数に文字列があると、その文字列に当てはまる補完候補を自動的に絞って出力します。補完関数を作成する場合の注意点として、変数は他の変数に影響が出ないようにlocalの宣言を用いることを忘れないようにします。作成したファイルに対して、sourceコマンド又は.(ドットコマンド)を用いて、関数を読み込み、completeコマンドで関数を指定すると、独自に作成した補完を行うことができます。関数を用いた補完を行うと、オプションによって補完方法が変更される柔軟な補完を行うことができます。trueファイルパターンを用いて補完候補に追加(-Gオプション)-Gオプションでファイルパターンを用いると、補完候補にそのファイルパターンのファイル名を追加できます。file3.txtパターンに一致する補完候補を除外(-Xオプション)-Xオプションを用いると、補完候補からパターンに一致する補完候補を除外することができます。file3.hまた、'!'の記号を用いるとパターンを否定することもできます。file3.txt補完候補に接尾辞を追加(-Sオプション)-Sオプションで文字列を指定すると、補完候補にその文字列を接尾辞として追加することができます。ccc.txtまた、-Pオプションで全ての補完リストに接頭辞を追加することもできます。compspecの削除(-rオプション)-rオプションを用いると定義したcompspecを削除できます。引数を指定しなかった場合はすべてのcompspecが削除されます。コメントをキャンセルメールアドレスが公開されることはありません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Linuxコマンド.NET.。