Yanor.net/
Wiki
Blog
GitHub
Sandbox
開始行:
* completeコマンドによる補完 [#d372954f]
以下はsshコマンドを入力する際に.ssh/known_hostsからホスト...
function ssh_complete() {
local curw
COMPREPLY=()
curw=${COMP_WORDS[COMP_CWORD]}
ORIG=$IFS
IFS="
"
COMPREPLY=($(compgen -W '$(cut -f 1 -d " " $HOME/.ssh/k...
IFS=$ORIG
return 0
}
complete -F ssh_complete ssh
- completeコマンドによってコマンドを補完する。最後の引数s...
- completeコマンドは様々な引数を取れるが、-Fによってシェ...
- シェル関数内で、COMPREPLY配列変数にキーワードを設定し、...
- 補完候補を作る場合、compgenコマンドを利用すると、絞り込...
-- 補完候補がfoo1 foo2 barとあった場合、fまで入力してTAB...
- COMP_WORDSは入力中のコマンドライン文字列をホワイトスペ...
*** 上の修正版 [#sf303370]
function ssh_complete() {
local curw
local hosts=()
COMPREPLY=()
curw=${COMP_WORDS[COMP_CWORD]}
ORIG=$IFS
IFS="
"
if [ -f "$HOME/.ssh/known_hosts" ]; then
hosts=(${hosts[@]} $(cut -f 1 -d " " $HOME/.ssh/known...
fi
if [ -f "$HOME/.ssh/config" ]; then
hosts=(${hosts[@]} $(grep '^Host ' "$HOME/.ssh/config...
fi
COMPREPLY=($(compgen -W '${hosts[@]}' -- $curw))
IFS=$ORIG
return 0
}
終了行:
* completeコマンドによる補完 [#d372954f]
以下はsshコマンドを入力する際に.ssh/known_hostsからホスト...
function ssh_complete() {
local curw
COMPREPLY=()
curw=${COMP_WORDS[COMP_CWORD]}
ORIG=$IFS
IFS="
"
COMPREPLY=($(compgen -W '$(cut -f 1 -d " " $HOME/.ssh/k...
IFS=$ORIG
return 0
}
complete -F ssh_complete ssh
- completeコマンドによってコマンドを補完する。最後の引数s...
- completeコマンドは様々な引数を取れるが、-Fによってシェ...
- シェル関数内で、COMPREPLY配列変数にキーワードを設定し、...
- 補完候補を作る場合、compgenコマンドを利用すると、絞り込...
-- 補完候補がfoo1 foo2 barとあった場合、fまで入力してTAB...
- COMP_WORDSは入力中のコマンドライン文字列をホワイトスペ...
*** 上の修正版 [#sf303370]
function ssh_complete() {
local curw
local hosts=()
COMPREPLY=()
curw=${COMP_WORDS[COMP_CWORD]}
ORIG=$IFS
IFS="
"
if [ -f "$HOME/.ssh/known_hosts" ]; then
hosts=(${hosts[@]} $(cut -f 1 -d " " $HOME/.ssh/known...
fi
if [ -f "$HOME/.ssh/config" ]; then
hosts=(${hosts[@]} $(grep '^Host ' "$HOME/.ssh/config...
fi
COMPREPLY=($(compgen -W '${hosts[@]}' -- $curw))
IFS=$ORIG
return 0
}
ページ名: