首頁 > 軟體

fastboot命令的自動補全

2020-06-16 18:05:12

Ubuntu 13.10以及之後的Ubuntu 14.04上,通過APT安裝fastboot以及adb工具之後,發現fastboot的自動補全有問題了, fastboot flash 之後的自動補全有問題了, 特別是mbn以及bin型別的檔案根本無法補全。

查了一下,發現是fastboot的自動補全指令碼限制了補全規則,稍微修改一下就能解決這個問題.

檔案路徑: /etc/bash_completion.d/fastboot

修改其中的內容如下:

_fastboot() 
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    opts="reboot boot flash devices -w reboot-bootloader"

    case "$prev" in
    reboot | devices | -w | reboot-bootloader)
        COMPREPLY=()
        return 0
        ;;
    flash)
        COMPREPLY=( $(compgen -W "boot system recovery radio rpm sbl1 modem tz persist splash aboot" -- $cur ))
        return 0
        ;;
    boot)
        COMPREPLY=( $(compgen -o filenames -G "${cur}*.img"))
        return 0
        ;;
    *)
        local prev2="${COMP_WORDS[COMP_CWORD-2]}"
        local prev3="${COMP_WORDS[COMP_CWORD-3]}"
        if [ "$prev2" == "flash" ];then
            COMPREPLY=( $(compgen -o filenames -G "${cur}*"))
            return 0
        elif [ "$prev2" == "boot" ];then
            COMPREPLY=()
            return 0
        elif [ "$prev3" == "flash" ];then
            COMPREPLY=()
            return 0
        fi
        ;;
    esac

    COMPREPLY=( $(compgen -W "$opts" -- $cur) )
    return 0
}
complete -F _fastboot fastboot

登出後重新登入系統,再試試fastboot flash命令,你會發現比以前更好用了。


IT145.com E-mail:sddin#qq.com