次の内容を含むファイルを作成したいとします。
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を意味します。
- あまりにも「Linux」ではなく、同じことを行うことができる仮想化手段とは独立した技術はありますか?つまり、ほぼRuby、Java、またはPythonコードです。
- Linuxを感じる技術はありますか?
質問に自由に答えてください。
答え1
シェルスクリプトを使用する(このフォーラムで最も「デフォルト」):
#!/bin/sh
i=1
while [ "$i" -le 4 ]; do
printf "line%d\n" "$i"
i="$(( i + 1 ))"
done >output_file
またはbash
以下を使用してください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