当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

go-sh

golang的调用shell的库
授权协议 GPL
开发语言 Google Go
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 毋宸
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

go-sh是一个golang的调用shell的库。

使用linux的人都知道shell脚本有它难以取代的优势,用2个词形容就是,简单、粗暴。但是shell有不少的坑,很容易就写的换个机器就不能使了。golang的优势很明显,写出来的代码bug少的可怜,而且跨各种平台。如果能将shell与golang结合起来,那将是强强联手,所向无敌。

go-sh就是这个一个golang库。如下是一个shell脚本转换golang代码的例子。

然后借助http://gobuild.io提供的在线golang交叉编译服务,整个过程就无敌了。

  • go.sh脚本  #!/usr/bin/env bash projectName=group-service target=$1 port=$2 config_uri=$3 health_url="http://127.0.0.1:$port/actuator/health" echo "target = "$target pid=`ps -ef |grep 'java' |grep $p

  • 昨晚检查了一下毕设的进度,尽管我知道自己这段时间似乎没有心思在做,但是结果仍令我有点心惊:居然上个星期的任务几乎没有开始!在上上个周末,我正式地给自己制定了一个比较详细的计划和进度安排,而且按照那个计划应该任务不是很紧,但是居然发生了这种事。细细回想一下,这个结果也不那么意外。首先是进入实验室(其实就是机房,感觉好无聊啊)装机,加上测试开发工具,花了3天时间;然后实验室开网(校园网,下BT和教育网

  • import "crypto/sha1" import "fmt" func main(){ s:="this is a string" h:=sha1.New() h.Write([]byte(s)) bs:=h.Sum(nil) fmt.Println(bs) fmt.Printf("%x\n",bs) } output: [81 117 146 223 143 236 5

  • 工程中需要用到ffmpeg,想直接用exec包调用shell命令。本来以为很简单,结果折腾了一下午,最后查到了解决方案。 假如之前执行报错的语句为: cmd := exec.Command("echo", "'helloworld!'") out, err := cmd.Output() 那么改为: c := "echo hello world" cmd := exec.Command("sh",

  • 简介 在开发中我们可能会遇到需要在程序中调用脚本的需求,或者涉及到两个语言之间的交互,笔者之前就遇到了需要在go中调用python的需求,然后在代码中应用了go-python3这个库,实际上在go中调用python的脚本也是一个解决之法。这片文章将介绍在go中运行shell脚本的方法以及对其源码的相应解析。 程序用例 test_command.go package learn import (

  • 网上看到过一份Go 调用shell 程序的代码,先贴在这里,亲测可用,没有问题 // ExecShell 执行shell 命令 func ExecShell(s string) (string, error) { //函数返回执行输出,如果有错误返回错误 s += " 2>&1 | tee mylog.log" //将标准输出和错误重定向到本地日志 cmd := exec.Command("

  • 代码如下 package main import ( "fmt" "os/exec" ) func executeCommand(command string) (string, error) { cmd := exec.Command("/bin/sh", "-c", command) output, err := cmd.Output() if err != nil { re

  • 工具类  package cmd import ( "bufio" "logger" "fmt" "io" "os/exec" "sync" "syscall" ) type Command struct { CmdStr string Pid int ExitCode int StdOutput str

  • 好的,这是在 Go 语言中输出 "Hello, World!" 的代码: package main import "fmt" func main() { fmt.Println("Hello, World!") } 你需要首先导入 "fmt" 包,然后在 main 函数中使用 fmt 包的 Println 函数来输出 "Hello, World!"。 你可以在命令行中使用 "go r

 相关资料
  • 本文向大家介绍php调用shell的方法,包括了php调用shell的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php调用shell的方法,分享给大家供大家参考。具体方法如下: 一、配置 查看php.ini中配置是否打开安全模式,主要是以下三个地方 safe_mode =  (这个如果为off下面两个就不用管了) disable_functions = safe_mode_exe

  • 本文向大家介绍Python下调用Linux的Shell命令的方法,包括了Python下调用Linux的Shell命令的方法的使用技巧和注意事项,需要的朋友参考一下 有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的。那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 1.1. os模块的exec方法族

  • 用途:使用php将命令直接输入minecraft服务器控制台 我正在尝试使用php脚本(从浏览器运行)来执行shell脚本。当我从终端运行php时,它就可以工作了!但在浏览器中,什么都不会发生。 从终端运行时,我得到一个“数组0”,但浏览器给我一个“数组1” 问题是什么?一旦我运行了shell,之后的一切不应该像在终端上一样工作吗?(shell脚本内部的内容是否重要?) shell拥有所有rx权限

  • 问题内容: 我正在使用此处提供的有用示例,使用JSch exec在远程服务器上执行Shell脚本。我可以看到脚本返回的回显,并且结尾处的退出状态为0-乍一看,一切看起来都很不错。 但是,问题在于该脚本本身会调出其他脚本,而这些脚本似乎被完全忽略,只是被跳过了。 该脚本直接调用其他脚本。即脚本的第一行是这样的: 任何人都可以建议以任何方式克服这一点吗?我确实开始研究“ shell”通道而不是“ ex

  • cgo不仅仅支持从Go调用C,它还同样支持从C中调用Go的函数,虽然这种情况相对前者较少使用。 //export GoF func GoF(arg1, arg2 int, arg3 string) int64 { } 使用export标记可以将Go函数导出提供给C调用: extern int64 GoF(int arg1, int arg2, GoString arg3); 下面让我们看看它是

  • 从这里开始,将深入挖掘关于运行时库部分对于cgo的支持。还记得前面那个test.go吗?这里将继续以它为例子进行分析。 从Go中调用C的函数test,cgo生成的代码调用是runtime.cgocall(_cgo_Cfunc_test, frame): void ·_Cfunc_test(struct{uint8 x[8];}p) { runtime·cgocall(_cgo_1b9ecf7f7

  • 问题内容: 我的Go服务器正在处理我首先打电话给的请求,以便设置响应的状态代码。之后,我开始将字节写入响应主体。如果我在复制字节时浏览器取消了请求,则会收到错误消息: 我的代码检测到此错误,然后调用。这再次调用。 这似乎是一个问题,但我不确定。可以避免吗?写入响应正文时发生错误时,如何避免再次调用? 谢谢! 问题答案: 的呼叫开始通过网络将响应发送到客户端。回应一经进行,便无法退回。您唯一可以做的

  • 本文向大家介绍如何使用JAVA调用SHELL,包括了如何使用JAVA调用SHELL的使用技巧和注意事项,需要的朋友参考一下 通过ProcessBuilder进行调度 这种方法比较直观,而且参数的设置也比较方便, 比如我在实践中的代码(我隐藏了部分业务代码): 这里有必要解释一下几个参数: RUNNING_SHELL_FILE:要运行的脚本 SHELL_FILE_DIR:要运行的脚本所在的目录; 当