nohupのBash完成

nohupのBash完成

detach以下を中心にラッパーでスクリプトを作成しましたnohup

#!/bin/bash

/usr/bin/nohup "$@" &> /dev/null &

このスクリプトでは、bashコンプリート機能が機能したいと思います。

試してみましたcomplete -c detachが、すべてのパラメータにユーティリティで追加されたものがありますPATH

ユーティリティの bash の完成を正しく実装するにはどうすればよいですかdetach

答え1

使ってるからバッシュ完了、最も簡単な解決策は、おそらくnohupそれがどのように完了したかを尋ねることです1

$ complete -p nohup
complete -F _command nohup

次に、同じ仕上げ方法を次の項目に適用しますdetach

$ complete -F _command detach

「Bash Complete で自分のローカル Complete をどこにインストールする必要がありますか?」をご覧ください。よくある質問このコマンドに最適な場所を見つけます。

この_command関数は順次呼び出されます_command_offset。つまり、コメントbash_completion:

#sudo(8)のようなコマンドのメタコマンド補完機能は、
最初にコマンドを完了してから、コマンドの自己
完結定義に従って完了する必要があります。


1そこからインタラクティブシェルを取得したとします。あなたのコメントが示すように、Arch Linuxを使用している場合、これは基本的にすべての対話型Bashセッション(ソース)に適用されます。bashbash_completion/etc/bash.bashrc/usr/share/bash-completion/bash_completion

関連情報