2015-04-30 28 views
1

我在寫bash腳本。它收到兩個參數。第一個只是一個字符串,用戶可以指定,但她想要的。然而,第二個參數必須是已知組的成員,例如, applebananapinenutpineapple。我知道如何檢查參數是否合法,但我覺得不得不輸入完整的單詞很煩人。我可以將參數縮短爲a,b,pnpa,但這很難記住,並且有點難看。有沒有辦法提供自動完成,以便用戶可以按「A +選項卡」,它會自動完成到apple完成已知列表的第二個參數

+1

你可以在這個線程舉例讀到它: [http://askubuntu.com/questions/68175/how-to-create-script-with-auto-complete][1] [1]:http://askubuntu.com/questions/68175/how-to-create-script-with-auto-complete –

+0

如果你想這樣做,你可以爲腳本編寫一個bash完成函數,當然。手冊頁有一些關於這樣做的文檔,就像我確定的一般互聯網一樣。 –

+0

那些答案說如何添加自動完成,但相同的自動完成將適用於所有參數。它沒有解決如何僅添加第二個。我會繼續尋找。 –

回答

0
function autocomp_fruit_script { 
    local cur opts 
    COMPREPLY=() 
    cur="${COMP_WORDS[COMP_CWORD]}" 
    fruit="apple banana pinenut pineapple" 
    if [ $COMP_CWORD -eq 2 ]; then 
    COMPREPLY=($(compgen -W "${fruit}" -- ${cur})) 
    return 0 
    fi 
} 
complete -o nospace -F autocomp_fruit_script fruit_script 

其中fruit_script是我的腳本。

相關問題