我很高兴用我的.bashrc中的以下代码块完成标签:
cd () {
command cd "$@";
if [ -f ./Rakefile ]; then
complete -W "$(rake -T | awk 'NR != 1 {print $2}')" rake
else
complete -r rake
fi
}
当我使用cd进入目录时,将加载此命令。如果目录不包含rakefile,则会显示消息“bash:complete:rake:no completion specification”。是否有可能省略此消息?
感谢您的帮助 的Matthias
答案 0 :(得分:1)
我会这样做:
complete -r rake 2>/dev/null
当它在不存在时(已经被删除)尝试删除完成规范时输出错误。只需重定向stderr即可转储错误消息。