小编Luk*_*ich的帖子

为自定义脚本添加自动完成功能

我目前正在开发一个我调用makeyourself.sh(链接到/usr/bin/mys)的 shell 脚本,它会自动从源代码(通过apt-get source -b $1)安装一个 debian 包。

所以我决定为作为第一个参数给出的包名称添加一个自动完成功能:sudo mys panth<tab><tab>然后应该列出每个以panth-开头的包,我的尝试如下:

complete -C "apt-cache --no-generate pkgnames" mys
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用:当我按上面提到的 tab 键时, at 将参数更改为mys,这将返回 me sudo mys mys

我究竟做错了什么?我是否必须在命令中指定complete必须插入应完成的字符串的位置,例如{}$1

我使用 ElementaryOS,一个基于 Ubuntu 的 Linux 发行版。该脚本是一个标准的 *.sh shell 脚本,它使用标准#!/bin/bash

bash autocomplete

6
推荐指数
1
解决办法
3331
查看次数

标签 统计

autocomplete ×1

bash ×1