对第一个命令使用制表符补全$(...)
cat $(w
当我击球时,tab
我会像往常一样获得潜在的完成机会。
$ cat $(w
w wc which wicd-client wofm2opl wpa_supplicant
然而,在非第一位置 bash 显示一个奇怪的错误
$ cat $(which w
节目
$ cat $(which w-bash: unexpected EOF while looking for matching `)'
-bash: syntax error: unexpected end of file
sh
命令替换语法显示第一个位置的相同预期行为,但不显示后续位置
$ cat `w
w wc which wicd-client wofm2opl wpa_supplicant
$ cat `which w
根本没有自动补全功能。
答案1
很明显,它正在寻找一个结束符)
,之后你不能点击 tab cat $(which w
,因为w
必须由你自己完成,通过输入一些参数名称,我猜 bash 补全不是为了参数补全。这是为了命令完成。
安装此 bash 完成后尝试此行为,这可能会为您完成大部分事情。
yum install bash-completion
source /etc/bash_completion