【问题标题】:How to create an alias for Kubernetes Nextcloud "occ" command in .bashrc如何在 .bashrc 中为 Kubernetes Nextcloud \"occ\" 命令创建别名
【发布时间】:2023-02-09 11:42:49
【问题描述】:

所以,我有一个运行 Nextcloud 的 microk8s Kubernetes 集群,我想直接从主机运行“occ”命令,而不需要深入到 pod 终端。

例如: occ maintenance:mode --on哪里occ实际上是microk8s kubectl exec -it nextcloud-dev-6f6f5db6f7-5rtm9 -- su -s /bin/bash www-data -c "php occ"

使用this post,我实际上已经非常接近了,但是我在将参数传递给别名时遇到了问题。

这是我在 .bashrc 上的条目:

alias occ='microk8s kubectl exec -it nextcloud-dev-6f6f5db6f7-5rtm9 -- su -s /bin/bash www-data -c "php occ $1"'

我的猜测是双引号混淆了论点,但不确定如何解决它。

有任何想法吗?

【问题讨论】:

    标签: bash kubernetes alias nextcloud


    【解决方案1】:

    你很接近,但当前别名的问题是它试图将 $1 作为文字字符串传递给 php occ 命令,而不是传递给 occ 别名的实际参数。要正确传递参数,您可以使用以下语法:

    alias occ='microk8s kubectl exec -it nextcloud-dev-6f6f5db6f7-5rtm9 -- su -s /bin/bash www-data -c "php occ "$@""'

    $@" 语法允许您将传递给 occ 别名的所有参数传递给 php occ 命令。

    【讨论】: