cari
Rumahmasalah biasagolang可以编写shell脚本吗

golang可以编写shell脚本吗

May 12, 2020 pm 01:45 PM
golang

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&#39;s output.
    err := cmd.Run()    if err != nil {     return err
   }   return nil}

推荐教程:《Go教程

Atas ialah kandungan terperinci golang可以编写shell脚本吗. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular