感谢@pdoherty926,ERB 语法正是我想要的。
看起来我定义的函数bash_profile
不起作用,但如果我在 tmuxinator conf 中写出这些函数,那么一切都会起作用:
这有效(回声是 prod-ips 的输出合并为一行):
windows:
<%- `echo 10.250.XX.X1,10.250.XX.X2,10.250.XX.X3`.split(',').each do |ip| %>
- ip-<%= ip.chomp %>: tunnel_to <%= ip %>
<%- end %>
但是这个命令不起作用:
windows:
<%- `prod-ips`.split("\n").each do |ip| %>
- ip-<%= ip.chomp %>: tunnel_to <%= ip %>
<%- end %>
但是,如果我prod-ips
在文件中定义了长手,则 tmuxinator start 命令可以工作:
windows:
<%- `aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(has("SecurityGroups")) | select(.SecurityGroups | length > 0) | select(.SecurityGroups[0].GroupName | test("<SECURITYGROUPFILTER>")) | .PrivateIpAddress' | sed -e 's/"//g'`.split("\n").each do |ip| %>
- ip-<%= ip.chomp %>: tunnel_to <%= ip %>
<%- end %>