linux - 从 go lang 程序启动终端窗口?
问题描述
我想要一个功能,我将创建一个在 linux 系统上运行的 go 程序。当该程序运行时,它将zip folder
从服务器下载并将其解压缩到用户HOME
目录。提取的文件夹将有一个 shell 脚本文件,例如。Update.sh
. 现在我想一旦提取该文件,我想打开终端并自动运行位于提取文件夹中的 shell 脚本。请指导我,我可以这样做吗?
解决方案
你看过 Go 标准库吗?你最好的选择是os/exec。我不知道打开另一个终端并在其中启动脚本有多可行,但是您可以将 os/exec 启动的命令的输出通过管道传输到启动 go 程序的终端的标准输出。
从您的问题来看,听起来下载和运行脚本的 go 程序已经由用户在本地计算机上运行。如果不是这种情况,那么上述将不起作用。
推荐阅读
- python - 如何避免(PIL)imageQt 的奇怪行为?
- entity - 连接组件 VHD。RTL 原理图无法正常工作
- sql - 如何按 1 个字段分组
- javascript - 在 JavaScript 中使用装饰器时箭头函数和函数之间的区别
- java - Android 应用程序在尝试使用 Volley 解析 Json 时崩溃
- javascript - 在字符串的开头和结尾查找特殊字符和空格的正则表达式是什么?
- marklogic - MarkLogic 中是否有用于 PATCH 的 JavaScript 资源扩展?
- kubernetes - Kubernetes Helm Orangehrm HTTPS - 错误请求
- express - 有没有办法修复错误:从插件获取元数据失败并出现错误:invalid_grant: Invalid JWT
- html - 最大宽度不适用于 flexbox+align-items: center