「Fishの基礎 - 補完」の版間の差分

ナビゲーションに移動 検索に移動
52行目: 52行目:


== 動的補完 ==
== 動的補完 ==
補完候補を動的に生成する場合は、コマンド置換を使用する。<br>
補完候補を動的に生成する場合は、コマンド置換を使用して動的に補完候補を生成する。<br>
<br>
<br>
  <syntaxhighlight lang="fish">
  <syntaxhighlight lang="fish">
  complete -c ssh -a "(command cat ~/.ssh/config | string match -r '^Host\s+(\S+)' | string replace -r '^Host\s+' '')" -d "Known host"
  complete -c ssh -a "(command cat ~/.ssh/config | string match -r '^Host\s+(\S+)' | string replace -r '^Host\s+' '')" -d "Known host"
</syntaxhighlight>
<br>
以下の例では、systemctl --state=helpの出力を動的に処理して、補完候補を生成している。<br>
<br>
<syntaxhighlight lang="fish">
complete -c systemctl -l state -d 'List of unit states' -xa '(systemctl --state=help --no-legend --no-pager | string match -v "*:")'
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>

案内メニュー