다음 내용이 포함된 파일을 만들고 싶다고 가정해 보겠습니다.
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를 의미합니다.
- 너무 "리눅스적"이지 않으면서 동일한 작업을 수행할 수 있는 가상화 수단과 독립적인 기술이 있습니까? 즉, 거의 Ruby, Java 또는 Python 코드입니다.
- 리눅스 느낌이 나는 기술이 있나요?
질문에 자유롭게 답변해 주세요.
답변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