我有一個腳本,需要幾個參數,包括主機名:自動完成主機名的腳本參數
./MyScript.sh -p param1 -q param2 hostname1 hostname2 hostname3 ...
因爲殼可以像ssh
命令選項卡完整的主機名,我不知道是否可以設置同樣的事情爲我的劇本。我知道BASH_COMPLETION
環境變量和它指向的腳本。但我不知道這些是否是我需要修改的東西。
我有一個腳本,需要幾個參數,包括主機名:自動完成主機名的腳本參數
./MyScript.sh -p param1 -q param2 hostname1 hostname2 hostname3 ...
因爲殼可以像ssh
命令選項卡完整的主機名,我不知道是否可以設置同樣的事情爲我的劇本。我知道BASH_COMPLETION
環境變量和它指向的腳本。但我不知道這些是否是我需要修改的東西。
查閱有關Programmable Completion Builtins的手冊頁。您可以通過-A hostname
到compgen
或complete
來完成主機名稱。雖然這只是給你本地知道主機名,它是一樣的ssh
這樣做,它應該是你想要的。
例子:
$ complete -A hostname foo
$ foo <tab><tab>