我想在我的zprofile中创建一个别名,它将根据名称标记获取EC2 IP地址,然后将SSH放入该机器。我用的是mac。
这个zsh脚本成功地检索了我想要插入的EC2机器的IP地址:
aws ec2 describe-instances \
--filters "Name=tag:Name, Values=my-name" \
--query "Reservations[*].Instances[*].[PrivateIpAddress]" \
--output text输出可能类似于:some.ip.address
这个zsh脚本允许我将SSH放到我的EC2机器中:
alias ec2="ssh person@some.ip.address.us-east-1.place"如何用第一个脚本的输出替换第二个脚本的IP地址?
谢谢!
发布于 2021-01-15 23:37:05
可能最简单的方法是设置第二个别名,这样您就可以拥有如下内容:
alias get_ec2_ip='aws ec2 describe-instances --filters "Name=tag:Name, Values=my-name" --query "Reservations[*].Instances[*].[PrivateIpAddress]" --output text'然后您可以使用zsh的命令替换,如下所示:
alias ec2='ssh person@`get_ec2_ip`'注意,在那里使用单引号是非常重要的,而不是双引号!否则,您将在设置别名时运行get_ec2_ip,这不是您想要的--您希望它将文本字符串ssh @get\_ec2\_ip保存为别名,以便每次运行ec2时都运行get_ec2_ip。
https://stackoverflow.com/questions/65744868
复制相似问题