红联Linux门户
Linux帮助

fastboot命令的自动补全

发布时间:2015-03-07 14:54:05来源:linux网站作者:diaoxuesong

在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命令,你会发现比以前更好用了。