如何用Bash或Python实现接收输入并生成文件的简易Web界面
简易Web配置生成工具实现思路
优先推荐:Python Flask 方案(学习成本最低,符合你现有技术栈)
你已经有Flask使用基础,这个方案全程代码量不到30行,无任何冗余功能:
- 写单文件Flask服务,仅保留2个路由:
- GET路由:返回极简HTML表单,包含4个文本输入框和提交按钮,不需要任何CSS/JS冗余资源
- POST路由:接收表单提交的4个字符串参数,用
subprocess.run()直接调用你已经写好的Bash配置生成脚本,传入参数后把生成的配置文件直接返回给前端,可支持直接展示或者触发浏览器下载
- 本地测试直接执行
flask run就能访问使用,需要部署到Apache的话安装mod_wsgi模块,简单配置路径即可上线 - 仅需要额外加简单的输入长度、特殊字符校验,避免恶意输入破坏原有Bash脚本逻辑即可
备选方案:Bash + Apache CGI 方案(完全复用Bash技术栈)
如果你不想写Python代码,这个方案全程用Bash实现,几乎不需要修改原有脚本:
- 先给Apache开启CGI支持:执行
a2enmod cgi,在配置文件中指定CGI脚本的可执行目录 - 写一个静态HTML表单文件放到Apache网页根目录,包含4个输入框,提交地址指向CGI脚本路径
- 改写原有Bash脚本适配CGI规范:开头先输出
Content-Type: application/octet-stream(如果要触发下载)或者Content-Type: text/plain(如果要直接展示),空一行后读取提交的4个参数,执行原有生成配置的逻辑,直接输出配置内容即可 - 全程不需要安装任何额外依赖,所有逻辑都是你熟悉的Bash语法,改动量极小
两个方案都可以在10分钟内完成搭建,完全没有冗余功能,符合你的简易需求。
内容的提问来源于stack exchange,提问作者Francesco Potortì
相关产品推荐
相关产品推荐

