搜集几篇相关文章和好使的代码块
文章
Advanced command execution in Go with os/exec edit
包
代码块
package main
import (
"fmt"
"log"
"os/exec"
)
func main() {
out, err := exec.Command("date").Output()
if err != nil {
log.Fatal(err)
}
fmt.Printf("The date is %s\n", out)
}
cmd := exec.Command("date")
var outb, errb bytes.Buffer
cmd.Stdout = &outb
cmd.Stderr = &errb
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Println("out:", outb.String(), "err:", errb.String())
package main
import (
"fmt"
"os/exec"
)
func main() {
app := "echo"
arg0 := "-e"
arg1 := "Hello world"
arg2 := "\n\tfrom"
arg3 := "golang"
cmd := exec.Command(app, arg0, arg1, arg2, arg3)
stdout, err := cmd.Output()
if err != nil {
fmt.Println(err.Error())
return
}
// Print the output
fmt.Println(string(stdout))
}
package main
import (
"bytes"
"fmt"
"log"
"os/exec"
)
const ShellToUse = "bash"
func Shellout(command string) (error, string, string) {
var stdout bytes.Buffer
var stderr bytes.Buffer
cmd := exec.Command(ShellToUse, "-c", command)
cmd.Stdout = &stdout
cmd.Stderr = &stderr
err := cmd.Run()
return err, stdout.String(), stderr.String()
}
func main() {
err, out, errout := Shellout("ls -ltr")
if err != nil {
log.Printf("error: %v\n", err)
}
fmt.Println("--- stdout ---")
fmt.Println(out)
fmt.Println("--- stderr ---")
fmt.Println(errout)
}
上一篇
Go 语言交叉编译
Go 语言支持交叉编译,可以在一个平台上构建另一个平台的可执行文件。本文介绍了如何在 Mac、Linux 和 Windows 系统下进行 Go 交叉编译,并提供了相应的命令示例,涵盖了不同操作系统和架构的编译方法,例如编译 Linux、Windows 平台的 64 位可执行程序。
下一篇
CSS 属性选择器及 Vue scoped 样式穿透
Vue 的 style 使用 scoped 属性时,会给相关 DOM 元素添加类似 `[data-v-26725ac2]` 的属性,导致无法通过 CSS 选择器直接选中某些由 JavaScript 生成的 DOM 元素。本文介绍如何使用属性选择器 (`[data-v-26725ac2]`) 和 `v-deep` (已弃用,建议使用 `>>>` 或深度选择器) 解决这个问题,并详细解释 CSS 属性选择器的用法。