【发布时间】:2017-09-23 03:57:25
【问题描述】:
我正在尝试为 S3 存储桶的名称设置别名,以便在传输文件时不必不断输入它。
在我的 .bash_profile 中:
alias as3="aws s3"
alias artifacts="s3://dev-artifacts-bucket-name"
alias admin="--profile admin-user"
使用别名的示例所需命令:
as3 cp localFile.txt artifacts/ admin
应该解析为:
aws s3 cp localFIle.txt s3://dev-artifacts-bucket-name/ --profile admin-user
其中“admin-user”是在我的 ~/.aws/config 文件中配置的 IAM 角色的名称。
相反,我得到了错误:
as3 cp ./upload.sh artifacts/ admin
Unknown options: admin
或者当我删除配置文件别名时
as3 cp ./upload.sh artifacts/ --profile admin-user
usage: aws s3 cp <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
Error: Invalid argument type
错误消息清楚地显示了第一个别名工作,因为我收到“aws s3”使用错误,但第二个别名没有被触发。尝试使用 set -x 进行调试,得到:
as3 cp upload.sh artifacts admin
+ aws s3 cp upload.sh artifacts admin
除非 bash 检测到递归别名替换并用一个钝错误停止它,否则我对所发生的事情不知所措。
仅供参考:我自称是 bash 菜鸟,请保持温和。 (是的,我采购了 .bash_profile)
【问题讨论】:
标签: bash