假设我想创建一个包含以下内容的文件:
Line1
Line2
Line3
Line4
你会立即想到这样的事情:
for i in 1 to 4:
print "Line"+ i
我之前用 Vagrant 做过这个。我做了这样的 Nginx 配置:
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream servers {
<% @ips.each do |ip| %>
<%= 'server ' + ip + ' ;'%>
<% end %>
}
server {
listen 8080;
location / {
proxy_pass http://servers;
}
}
}
但在技术方面我并不是万事通,所以我不确定这种语法是否是 Vagrant 的东西,因为它显然是 Ruby 的。
我的问题是:
- 有没有办法在 Docker 中做同样的事情?我的意思是原生 Docker。
- 是否有任何独立于虚拟化手段的技术可以做到同样的事情而又不会太“Linuxish”。我的意思是,几乎是 Ruby、Java 或 Python 代码。
- 有没有一种有Linux感觉的技术?
请随意回答任何问题。
答案1
使用 shell 脚本(本论坛中最“母语”):
#!/bin/sh
i=1
while [ "$i" -le 4 ]; do
printf "line%d\n" "$i"
i="$(( i + 1 ))"
done >output_file
或者用bash
or ksh93
:
#!/bin/bash
printf "line%d\n" {1..4} >output_file
或者,
#!/bin/bash
for ((i = 1; i <= 4; ++i)); do
printf "line%d" "$i"
done >output_file