从 Go 执行 Bash 脚本
挑战
从 Go 执行 bash 脚本,您尝试使用 os/exec 包,但在输入脚本路径或其内容时遇到了挑战作为参数。此脚本设置变量并执行特定任务。
解决方案
要从 Go 成功执行 bash 脚本,请考虑以下步骤:
先决条件
- 确保 bash 脚本以以下开头#!/bin/sh 或 #!/bin/bash。
- 通过运行 chmod x
使脚本可执行。
使用 os/exec Package
如果您更喜欢使用 os/exec,请将代码修改为如下:
cmd := exec.Command("/bin/sh", mongoToCsvSH) out, err := cmd.Output()
这里,“/bin/sh”表示执行脚本的解释器,后跟 bash 脚本 mongoToCsvSH 的路径。
替代方法
您可以使用以下代码来代替使用 os/exec 来执行script:
import ( "io/ioutil" "os" ) func main() { content, err := ioutil.ReadFile("mongoToCsvSH.sh") if err != nil { log.Fatal(err) } err = os.WriteFile("run.sh", content, 0755) if err != nil { log.Fatal(err) } cmd := exec.Command("./run.sh") cmd.Run() }
此方法读取 bash 脚本内容,将其写入具有可执行权限(chmod 0755)的临时“run.sh”文件,然后执行它。
以上是如何有效地从 Go 执行 Bash 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用GO的“字符串”软件包进行字符串操作,详细介绍了共同的功能和最佳实践,以提高效率并有效地处理Unicode。

本文详细介绍了GO的“时间”包用于处理日期,时间和时区,包括获得当前时间,创建特定时间,解析字符串以及测量经过的时间。

文章讨论了使用GO的“同步/原子”软件包进行并发编程中的原子操作,详细说明了其益处,例如防止比赛条件和提高性能。

本文讨论了GO中的类型转换,包括语法,安全转换实践,常见的陷阱和学习资源。它强调明确的类型转换和错误处理。[159个字符]

本文解释了在GO中使用“选择”语句来处理多个频道操作的使用,其与“开关”语句的差异以及常见用例,例如处理多个渠道,实现超时,非B


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

记事本++7.3.1
好用且免费的代码编辑器