命令行完成
预计阅读时间:3分钟
bose 和zsh shell的Compose带有命令完成功能。
安装命令完成
重击
确保已安装bash完成。
的Linux
-
在当前的Linux操作系统上(非最小安装),bash补全应该可用。
-
将完成脚本放在中
/etc/bash_completion.d/
。$ sudo curl \ -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose \ -o /etc/bash_completion.d/docker-compose
-
重新加载您的终端。您可以关闭然后再打开一个新终端,或
source ~/.bashrc
在当前终端中使用命令重新加载您的设置。
苹果电脑
通过Homebrew安装
- 使用安装
brew install bash-completion
。 -
安装后,Brew显示安装路径。确保将完成脚本放置在路径中。
例如,将完成脚本放在中
/usr/local/etc/bash_completion.d/
。$ sudo curl \ -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose \ -o /usr/local/etc/bash_completion.d/docker-compose
-
将以下内容添加到您的
~/.bash_profile
:if [ -f $(brew --prefix)/etc/bash_completion ]; then . $(brew --prefix)/etc/bash_completion fi
- 您可以采购
~/.bash_profile
或启动新终端以利用完成功能。
通过MacPorts安装
-
运行
sudo port install bash-completion
以安装bash完成。 -
将以下行添加到
~/.bash_profile
:if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then . /opt/local/etc/profile.d/bash_completion.sh fi
-
您可以采购
~/.bash_profile
或启动新终端以利用完成功能。
sh
确保已安装oh-my-zsh
在计算机上。
带oh-my-zsh外壳
在插件列表中添加docker
和docker-compose
,~/.zshrc
以在oh-my-zsh shell中运行自动完成。在以下示例中,...
代表您可能已安装的其他Zsh插件。
plugins=(... docker docker-compose)
没有oh-my-zsh shell
-
将完成脚本放置在您的
/path/to/zsh/completion
(通常是~/.zsh/completion/
)中:$ mkdir -p ~/.zsh/completion $ curl \ -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/zsh/_docker-compose \ -o ~/.zsh/completion/_docker-compose
-
$fpath
通过添加以下内容将目录包括在您的目录中~/.zshrc
:fpath=(~/.zsh/completion $fpath)
-
确保
compinit
已加载或通过添加来完成~/.zshrc
:autoload -Uz compinit && compinit -i
-
然后重新加载您的shell:
$ exec $SHELL -l
可用完成
取决于到目前为止您在命令行上输入的内容,它会完成:
- 可用的docker-compose命令
- 特定命令可用的选项
- 在给定上下文中有意义的服务名称,例如具有正在运行或已停止实例的服务,基于映像的服务与基于Dockerfiles的服务。对于
docker-compose scale
,已完成的服务名称会自动附加“ =”。 - 所选选项的参数。例如,
docker-compose kill -s
完成一些信号,例如SIGHUP和SIGUSR1。
享受更快的撰写速度和更少的错别字!