今天就跟大家聊聊有關(guān)shell腳本可以被golang編寫嗎,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

保靖網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,保靖網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為保靖千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的保靖做網(wǎng)站的公司定做!
golang可以編寫shell腳本嗎
golang是可以編寫shell腳本,首先可以通過創(chuàng)建一個閱讀器去訪問鍵盤,每當(dāng)按下回車鍵時,任何的寫入都會被存儲到輸入變量中;然后根據(jù)出入的數(shù)據(jù)來執(zhí)行邏輯運(yùn)算;最后將處理結(jié)果使用“fmt.Println()”將數(shù)據(jù)輸出即可。
代碼示例:
package main
import ( "bufio"
"errors"
"fmt"
"os"
"os/exec"
"strings")
func main() {
reader := bufio.NewReader(os.Stdin) for {
fmt.Print("> ") // Read the keyboad input.
input, err := reader.ReadString('\n') if err != nil {
fmt.Fprintln(os.Stderr, err)
} // Handle the execution of the input.
err = execInput(input) if err != nil {
fmt.Fprintln(os.Stderr, err)
}
}
}
// ErrNoPath is returned when 'cd' was called without a second argument.var ErrNoPath = errors.New("path required")
func execInput(input string) error { // Remove the newline character.
input = strings.TrimSuffix(input, "\n") // Split the input separate the command and the arguments.
args := strings.Split(input, " ") // Check for built-in commands.
switch args[0] { case "cd": // 'cd' to home with empty path not yet supported.
if len(args) < 2 { return ErrNoPath
}
err := os.Chdir(args[1]) if err != nil { return err
} // Stop further processing.
return nil
case "exit":
os.Exit(0)
} // Prepare the command to execute.
cmd := exec.Command(args[0], args[1:]...) // Set the correct output device.
cmd.Stderr = os.Stderr
cmd.Stdout = os.Stdout
// Execute the command and save it's output.
err := cmd.Run() if err != nil { return err
} return nil}看完上述內(nèi)容,你們對shell腳本可以被golang編寫嗎有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
名稱欄目:shell腳本可以被golang編寫嗎
網(wǎng)頁網(wǎng)址:http://www.chinadenli.net/article12/jdhedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、用戶體驗(yàn)、建站公司、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)