问题标签 [compgen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - Bash: compgen How to get rid of Warning message [option may not work as you expect]?
I am making a simple bash completion program using compgen
however when using compgen -F option, the warning message keep prompt out and break my list of work
I am using Ubuntu 12.04. How can I get rid of this or debug it? Thanks
bash - 如何自动完成嵌套的多级子命令?
我正在尝试为我自己的一组命令开发自动完成或制表符完成功能。
例如,假设 foo 是我的二进制文件:
它应该显示主要命令configure
和show
.
然后,如果我选择configure
,它应该显示子命令CM
,DSP
并且NPU
:
我只知道如何为第一级完成制表符和显示 - 我怎样才能获得第二级?
我会把它放在/etc/completion.d
.
我的代码:
我被困在如何CM
DSP
NPU
在configure
.
bash - bash complete() 中的空格和后缀
我在使用compgen
shell 内置时遇到了两个困难。我尝试用简单的类似 bash_filedir
的(使用ls
)代码来展示它:
在这种情况下,当cur=="usr/li"
thenprefix=="/usr/"
和sufix=="li"
我有两个困难。有空间和更换。例如:
我得到:
我需要:
此代码仅作为示例。
windows - 在 Windows 命令提示符中列出所有可用命令的命令
我想以编程方式获取 Windows 命令提示符 ( cmd.exe
) 中所有可用命令的列表。compgen -c
Bash 中是否有类似的东西,但适用于 Windows?
linux - 子进程库不会执行 compgen
我正在尝试列出我的 linux (Lubuntu) 机器上可用的每个命令。我想在 Python 中进一步使用该列表。通常要在控制台中列出命令,我会编写“compgen -c”并将结果打印到标准输出。
我想使用 Python 子进程库执行该命令,但它给了我一个错误,我不知道为什么。
这是代码:
这是我得到的错误:
我被困住了。你们能帮我解决这个问题吗?如何使用子进程执行 compgen 命令?
bash - 指定另一个目录来 compgen 用于自动完成目录,而不是使用 pwd
compgen -d -- $cur
只会建议 pwd 中的目录完成吗?
我可以让它在另一个目录中建议某个目录的目录完成吗?
例如。如果我在/curr_dir
,并且我想生成目录完成,/other_dir
我该怎么办?我如何将其指定为compgen
,这样我就不需要去/other_dir
在我的 bash-completion 函数中,我尝试cd
在调用之前对该目录执行 a 操作,compgen
但在按下<Tab>
.
bash - 使用 compgen 为另一个命令自动完成,使用哪个标志?
我有一个自定义的自动完成命令(调用它commandA
)
在commandB
我想窃取 commandA 第一个参数的自动完成选项
因此,例如,commandA 的参数 1 的选项是:
abcdef
abcabc
abc123
我想要一些类似的东西
compgen -? "commandA"
或compgen -? "commandA abc"
生成上面的列表。
bash - Bash:自动补全、回显和光标移动
我正在尝试编写一个自动完成脚本。它还应该输出一些描述。我有一个管理自动完成和获取描述的功能。自动完成相关部分工作正常,但当我想显示帮助时遇到问题。简而言之,这就是我现在所拥有的:
我想要什么:
自动完成和输出之间没有冲突。只有当 myOption1 完成时才能显示描述。(myOpt 将作为 myOption1 完成,因此不显示描述)。我做了几次尝试让它工作,但我想我错过了一步。“myOption1 的描述”是一个“回声”。我认为这是相关的,因为compgen正在等待一些价值(我暂时不给它)。我试图用一些转义字符、空格来欺骗 compgen:没有成功。自动完成脚本应在此描述之后继续运行。
在此先感谢您的帮助 ;-)
科尔
bash - 在bash中列出文件中的所有变量
在编写 bash 脚本时,我喜欢编写自包含函数,这些函数接受一个参数并基于该/那些参数执行操作,而不是在代码中的几个不同位置声明全局变量,从而降低可读性。
当您有一个需要使用多个变量的函数时,就会出现问题。将诸如 10 个变量之类的东西传递给一个函数简直是丑陋的,为此可以使用一个简单的关联数组。
如果我们想在外部文件中声明这些变量,“source”命令允许您将它们全部导入。
那么问题就变成了,如何列出仅在此文件中声明的变量,以便可以使用它们构建关联数组?我已经能够使用“compgen”和循环的组合从变量列表中构建关联数组,但是如何只列出文件中找到的变量,无论它们被称为什么,所以我可以循环他们并建立我的阵列?
bash - compgen 不会进入目录
我已经定义了一个 bash_completion 脚本。在某些情况下,我想回退到大多数命令默认发生的基于文件的基本完成。为此,我正在使用compgen
,但我无法让它进入子目录。
想象一下,我在一个目录中运行 compgen,该目录包含一个名为bin
. 当我跑步compgen -f bi
时,我得到了bin
。我希望这会返回bin/
,然后允许我再次推动 TAB 以下降到bin
目录的内容中。但取而代之的是,complete
只获得一个值并假设它已到达处理结束。这与 bash 完成的工作方式不同,通常ls bi[TAB]
会导致ls bin/
.
由于我无法让它工作,暂时我已经编写了自定义代码,该代码下降到目录中以执行正确的 bash 完成,但必须有一种方法可以compgen
直接执行此操作。