成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Golang調用系統命令時如何指定執行路徑(切換目錄)?

開發 前端
假如從代碼托管平臺(github、gitlab、gitee等)克隆一個Golang項目,使用Git clone完成以后,需要切換(cd)到這個項目里面去做一些操作,例如使用Go mod download安裝依賴包。

場景帶入

先看一個場景,假如從代碼托管平臺(github、gitlab、gitee等)克隆一個Golang項目,使用git clone完成以后,需要切換(cd)到這個項目里面去做一些操作,例如使用go mod download安裝依賴包。

這一系列操作如果使用程序來實現的話還是有一點不同的,特別是切換到項目目錄的動作。人工操作的話直接執行 cd dst-path 命令即可,使用程序調用 cd 系統命令這么做卻是無效的。

Golang中的實現方法

Golang中調用系統命令的方法是這樣的,以上面的git clone為例:

package main

import "os/exec"

func main() {
err := exec.Command("git", "clone", "https://github.com/xxx/test").Run()
if err != nil {
panic(err)
}
}

接下來就需要切換到這里的 test 目錄去執行 go mod tidy 命令了,你可能會想到這么實現:

package main

import "os/exec"

func main() {
err := exec.Command("git", "clone", "https://github.com/xxx/test").Run()
if err != nil {
panic(err)
}

err = exec.Command("cd", "./test").Run()
if err != nil {
panic(err)
}

err = exec.Command("go", "mod", "download").Run()
if err != nil {
panic(err)
}
}

到這里你就錯了,在程序里這么寫是不會生效的,可以執行代碼看看效果。正確的方式應該這么寫:

package main

import "os/exec"

func main() {
err := exec.Command("git", "clone", "https://github.com/xxx/test").Run()
if err != nil {
panic(err)
}

cmd := exec.Command("go", "mod", "download")
cmd.Dir = "./test"
err = cmd.Run()
if err != nil {
panic(err)
}
}
責任編輯:姜華 來源: 今日頭條
相關推薦

2010-06-03 11:23:19

Hadoop

2020-08-12 06:59:44

Linux切換目錄命令

2010-06-22 11:09:14

Linux At命令

2023-12-13 18:44:02

Linux定時任務操作系統

2009-07-31 17:21:28

linux cd命令linux cd命令詳Pushd

2009-10-27 13:10:49

linux cd命令

2009-04-15 20:32:39

Linux工作目錄用戶主目錄

2020-06-04 17:00:37

Linux命令腳本

2017-03-10 10:37:16

Linux命令腳本

2009-09-04 09:36:17

Java調用

2023-11-17 08:02:34

系統調用linux

2020-11-06 07:42:01

Linux命令腳本

2019-07-29 09:13:04

route路由ip

2009-07-31 17:02:14

linux cd命令CDPATHlinux cd命令詳

2010-01-21 09:53:55

VB.NET獲取程序運

2019-11-26 08:40:16

LinuxSSHSFTP

2019-04-25 09:52:38

SSHLinux服務器

2022-12-09 11:04:14

straceLinux

2010-09-07 16:11:19

執行DB2命令

2020-03-30 08:45:31

Linux命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲国产精品 | 精品综合久久 | 色就干 | 看特级黄色片 | 国产在线一区二区三区 | 欧美一区二区三区在线观看 | 日韩中文字幕一区 | 91免费电影| 亚洲欧美一区二区三区国产精品 | 99精品视频在线观看免费播放 | 亚洲精品9999 | 成人免费在线电影 | 国产精品久久久久久影院8一贰佰 | 免费成人毛片 | 日韩国产在线观看 | 久久久久久综合 | 性福视频在线观看 | 成人午夜电影在线观看 | 国产精彩视频在线观看 | 色婷婷综合久久久中字幕精品久久 | 国产亚洲精品一区二区三区 | 久久中文一区二区 | 国产中文字幕在线 | 精品欧美| 国产精品日日夜夜 | 亚洲免费人成在线视频观看 | 91精品国产91久久久久久 | 久久久男人的天堂 | 欧美美乳 | 欧美视频中文字幕 | 日韩视频在线播放 | 日韩一区二区av | 在线成人| 日韩在线不卡 | 在线观看亚洲专区 | 国产亚洲精品精品国产亚洲综合 | 久久国产精品一区二区三区 | 欧美一区二区三区视频在线 | 亚洲成av| 欧美一区二区免费电影 | 日本淫视频|