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セッション(ソース)に適用されます。bash
bash_completion
/etc/bash.bashrc
/usr/share/bash-completion/bash_completion