如果您仍在与之抗争,这可能很有用,但我仍然更喜欢在 AWS CLI 端配置它的方法。我还没有找到这种方法,所以......
这是一个 bash hack,如果.bashrc
(or .bash_profile
) 是有源的,它就可以工作,这通常是这种情况。如果这没有意义,快速搜索类似的东西bash_profile and bashrc shell initialization
应该会给你一些更好的信息,我可以给你。
无论如何,我确信有很多更好的方法可以做到这一点,但这里的想法是调用一个与常规aws
CLI 命令不同名称的类似函数。如果您正在调用s3
命令,新函数会添加端点 URL。
# ~/.bashrc
# can be called using same args as AWS CLI
awsep () {
# show help message if no params are passed
if [ "$1" == "s3" ]; then
aws --endpoint-url="<your url>" "${@:-help}"
else
aws "${@:-help}"
fi
}
现在你可以调用它了,在你确定你已经找到了你添加函数的文件之后;例如
$ . ~/.bashrc && awsep s3 ls
而且,如果您不喜欢或无法使用您创建的一些随机新功能,您总是可以使用类似的 hack,这似乎更加贫民窟。目标是总结常规aws
CLI 命令。这样做的方法与您在上面阅读的第一个函数几乎相同。唯一的区别是您为函数命名aws
而不是您想出的某个名称,并且您从函数内部引用了真正的 aws
CLI。
# ~/.bashrc
# can be called using same args as AWS CLI
aws () {
# show help message if no params are passed
if [ "$1" == "s3" ]; then
/path/to/your/real/aws-cli --endpoint-url="<your url>" "${@:-help}"
else
/path/to/your/real/aws-cli "${@:-help}"
fi
}
我aws-cli
碰巧是/Users/me/.pyenv/shims/aws
因为我用 pip 安装了 AWS CLI,并且我用它pyenv
来管理我的 Python。你的可能在不同的地方,但你总是可以通过运行类似的东西找到它which aws
,然后在你的.bashrc
或.bash_profile
我不认为后一种方法会咬你,但黑客可能会产生奇怪的副作用,我当然不是 bash、AWS CLI、pip 或任何其他相关部分的专家,但它对我有用.. .
我希望它有所帮助。