有没有可以创建动态文件内容的工具?

有没有可以创建动态文件内容的工具?

假设我想创建一个包含以下内容的文件:

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

或者用bashor 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

相关内容