日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 脚本 lang,golang可以编写shell脚本吗

發布時間:2025/5/22 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 脚本 lang,golang可以编写shell脚本吗 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

golang可以編寫shell腳本嗎

golang是可以編寫shell腳本,首先可以通過創建一個閱讀器去訪問鍵盤,每當按下回車鍵時,任何的寫入都會被存儲到輸入變量中;然后根據出入的數據來執行邏輯運算;最后將處理結果使用“fmt.Println()”將數據輸出即可。

代碼示例: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}

推薦教程:《Go教程》

總結

以上是生活随笔為你收集整理的linux 脚本 lang,golang可以编写shell脚本吗的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。