追加到现有的tcsh cmd自动完成指令



我想在现有的命令完成中添加更多的部分(不能访问第一个创建。(

以下不起作用:

complete myscript.py `complete myscript.py` 'n,-t,(t1 t2),'

它添加了额外的记号('(,并且自动完成被破坏。

希望看到一个工作的例子。谢谢

因此,当您询问myscript.py如何完成时,只需要去掉多余的引号。

complete myscript.py `complete myscript.py | sed s/'//g` 'n,-t,(t1 t2),'

这应该可以解决额外引号的问题(尽管如果您现有的完整模式包含您需要的引号,那么您将需要一个更复杂的sed模式来正确地清理输出(。

我找不到一种方法来附加到现有的complete,所以我决定在我的cshrc和source is中动态创建一个新文件,覆盖上一个complete指令:

set filename = `date '+%Y-%m-%d-%H-%M-%S'`
set cmd_arr  = ( scrpt1.py scrpt2.py scrpt3.py )
foreach c ($cmd_arr)
complete | grep $c | sed  's;$; 'n,-r,`/home/$USER/complete_rev.py`,';' |  sed 's/^/complete /' >> $filename
end
source $filename
rm $filename -f

这是吹捧!

相关内容

  • 没有找到相关文章

最新更新