私は基本的な.shファイルのいくつかのコマンドを完了するためにBashコマンドを使ってこれをやろうとしています。しかし、このBashコードの使用にはいくつかの問題があります。
function _test()
{
local cur
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=($( compgen -W '--activate --help --new' -- $cur ) )
}
complete -F _test test
これで端末に入れて呼び出すとコードはうまくいきますが、.shスクリプトに入れて実行すると何も起こりません。私もこの関数をbashrcファイルにコピーして貼り付けました(これもうまくいきませんでした)。 Bashスクリプトに初めて触れたので、何が間違っているのかわかりません。すべての助けに感謝!
ベストアンサー1
私のコードにコードを入れると.bashrc
うまくいきます。
.bashrc
適用するには、新しい端末を実行または開くことで. ~/.bashrc
実行source ~/.bashrc
する必要があります。
bash XXX.sh
この完了コードを含む.shスクリプトを使用または実行すると機能しません./XXX.sh
。使用. ./XXX.sh
またはsource ./XXX.sh
交換してください。