Bashで同時に2つのランダムコマンド出力を完了する方法

Bashで同時に2つのランダムコマンド出力を完了する方法

スタート:

function _command() {
    local cur
    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
    if [ "$COMP_CWORD" -ge "2" ]; then
        COMPREPLY=($( compgen -W '$(pwd)' -- "$cur" ) )
    else
        COMPREPLY=($( compgen -W "arg1 arg2" -- "$cur" ) )
    fi
}
complete -F _command command

私がこれを行う限り、これはうまく機能しますsource

たとえば、他の任意のコマンドの出力をオートコンプリートするにはpwdどうすればよいですかhostname?すべてのファイルパスでオートコンプリート機能を使用するにはどうすればよいですか?

ベストアンサー1

誰でも

COMPREPLY=($(compgen -W '$(pwd)' -- "$cur") $(compgen -W '$(hostname)' -- "$cur"))

(より大きな配列が必要な場合は1つだけ作成してください)または

COMPREPLY=($( compgen -W '$(pwd; hostname)' -- "$cur" ) )

(まだコマンドをオートコンプリートします)。

おすすめ記事