我有下面的bash脚本,但我无法使用我定义的命令"kctl";如果我用";获取吊舱";。我可能需要在kctl((函数的命令后面添加一个占位符吗?
#!/bin/bash
KCTL=$(which kubectl)
KUBECONFIG=$1
kctl() {
$KCTL --kubeconfig=$KUBECONFIG
}
kctl get pods
出于某种原因,我总是得到kubectl的帮助,而不是默认命名空间中的pod列表。
提前感谢
这里ktcl
本身就是一个函数,所以它有自己的参数。当你最终使用它时,你会向它传递额外的参数,但在函数中你什么都不做。
如果您的意图是将参数附加到函数内的命令中,则必须这样写:
kctl() {
$KCTL --kubeconfig=$KUBECONFIG "$@"
}
请注意,函数如何看不到脚本的参数,因为它们被自己的参数遮蔽了。