当键入“第一命令”时,Bash可编程完成。

编程入门 行业动态 更新时间:2024-10-25 07:32:06
本文介绍了当键入“第一命令”时,Bash可编程完成。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

有没有一种方法来控制在bash4命令提示符下键入的第一个命令的完成?

Is there a way how to control completion for first command being typed on bash4 command prompt?

我可以用complete -E来控制空行的完成,但是一旦键入某些字符,bash(或可能是readline)就会为我提供PATH中的所有文件名,内置命令(如果有,则是else ...)以及完成尝试(TAB)时的功能。

I can control completions for "empty line" with complete -E, but as soon as some characters are typed, bash (or possibly readline) gives me all filenames from PATH, builtin commands (if, then, else...) and functions on completion attempt (TAB).

我能够通过在PROMPT_COMMAND中取消设置PATH并通过绑定功能来捕获DEBUG来恢复PATH来避免PATH条目,但是由于摆脱了bash bultin命令的完成而没有运气。

I was able to avoid PATH entries by unsetting PATH in PROMPT_COMMAND and restoring it by binding function to trap DEBUG, but no luck with getting rid of bash bultin commands completions.

有什么想法吗?

推荐答案

这是bash可编程完成工具设计中的一个真正的弱点。即使默认命令完成 -D 仅对空白行中的命令也有效(前提是没有 complete -E 已指定)。缺少 complete -I (用于不完全键入的命令)之类的东西。

This is a veritable weak point in the design of bash's programmable completion facilities. Even the "default" command completion -D takes effect for commands on a blank line only (provided that no complete -E is specified). Something like complete -I (for incompletely typed-in commands) is missing.

更多推荐

当键入“第一命令”时,Bash可编程完成。

本文发布于:2023-06-04 08:36:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/493367.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:可编程   命令   Bash

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!