当命令行中有星号时,我无法从 gnome-terminal 的命令行完成 tab。默认 shell 是 bash,使用 gnome-terminal。例如,
这可以使用~/files/目录上的制表符完成将单个文件复制到目录中:
cp ~/file1 ~/files/
Run Code Online (Sandbox Code Playgroud)
然而,这并没有使用上的目录选项卡完成时,我想将多个文件复制到一个目录(我必须手动输入出或粘贴工作~/files/):
cp ~/file* ~/files/
Run Code Online (Sandbox Code Playgroud)
(假设存在文件file1, file2, file3& file4)
这确实完成了目录(并且像我期望的正则表达式一样工作,将所有这些文件复制到~/files/):
cp ~/file?* ~/files/
Run Code Online (Sandbox Code Playgroud)
所以我有一个解决方法。但我知道我以前有过这个工作而不必使用它?,我不确定我是如何或何时丢失它的。作为一个沉重的命令行用户,我一直在忍受它,但最近它比较烦人。
编辑1+:
输出 $ compopt cp
compopt +o bashdefault +o default +o dirnames +o filenames +o nospace +o plusdirs cp
Run Code Online (Sandbox Code Playgroud)
$ set -x然后的输出$ cp ~/file* ~/file<tab>
+ (( COMP_CWORD += 1 ))
+ …Run Code Online (Sandbox Code Playgroud)