gpt4 book ai didi

linux - linux 下 make 上的 tab 补全错误

转载 作者:IT王子 更新时间:2023-10-29 00:17:16 25 4
gpt4 key购买 nike

我不知道制表符补全是如何工作的,但我的突然间坏了。除了用例,我什至不知道要提供什么信息。有一个目标clean在生成文件中。

$ make c<tab>结果在

$ make c23:set: command not found
lean

编辑:我相信我以某种方式毁了 set bash 内置于 man setNo manual entry for setwhich set什么都不报告。然而,在终端上调用 set 会产生结果。

我正在使用:GNU bash,版本 4.3.11(1)-release (x86_64-pc-linux-gnu)GNU Make 3.81

最佳答案

感谢Etan's comment以及 Aaron 对 makefile 所在位置的指示,我设法对其进行了调试。

我跑了 set -x这样我就可以跟踪完成制表符时发生的事情。 make c<tab> 的输出主要由来自 make 的 bash 完成文件中的命令组成, 位于 /usr/share/bash-completion/completions/make (1).但是,我注意到输出和文件之间存在不一致。最后,输出说:

+ local mode=--
+ (( COMP_TYPE != 9 ))
++ set +o
++ grep --colour=auto -n -F posix
+ local 'reset=23:set +o posix'
+ set +o posix

我将其识别为与文件中的这些行相对应:

if (( COMP_TYPE != 9 )); then
mode=-d # display-only mode
fi

local reset=$( set +o | grep -F posix ); set +o posix # for <(...)

所以输出做了一个grep --colour=auto -n而不仅仅是 grep .事实上,我已经为 grep 设置了这个别名。

我一删除别名就开始工作。

我希望这可以帮助其他人调试他们的问题。

编辑:我在这里提交了错误报告:https://alioth.debian.org/tracker/index.php?func=detail&aid=315108&group_id=100114&atid=413095

关于linux - linux 下 make 上的 tab 补全错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26932672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com