在我的bashrc中。我想打壞完成命令scp
如下爲什麼這個自動完成功能不能在Linux中自動完成?
function _scp_complete
{
COMPREPLY=""
COMPREPLY+=($(cat ~/.ssh_complete))
COMPREPLY+=($(find . ! -name . -prune -type f))
}
complete -F _scp_complete scp
的想法是,按scp [tab]
當我看到在當前目錄下的所有文件文本文件~/.ssh_complete
列出的單詞。讓我們假設該文件包含以下項目:
[email protected] [email protected]
期望的行爲如下:I型scp [email protected][TAB]
和標籤completion'completes'命令SCP的亞歷克斯@ 192.0.0。自動,因爲只有兩個開始與亞歷克斯@可能的參數(假設在當期的工作目錄中沒有類似命名的文件。):
>scp [email protected][TAB]
[email protected] [email protected]
>scp [email protected]
行爲我所描述的實施得到如下:I型scp [email protected][TAB]
和標籤完成確實不完整什麼,但列出了下面的命令,每一個可能的論點:
>scp [email protected][TAB]
[email protected] [email protected] file1 Music Pictures ./.emacs <ALL files in the current directory>
>scp [email protected]
我怎樣才能修復功能,以獲得所需的行爲嗎?
感謝您的幫助和解釋! – Alex