Rumah >pembangunan bahagian belakang >Golang >Mengapa ./ disisipkan secara automatik di hadapan nama program semasa menaip arahan untuk menjalankan program?

Mengapa ./ disisipkan secara automatik di hadapan nama program semasa menaip arahan untuk menjalankan program?

王林
王林ke hadapan
2024-02-09 19:45:12918semak imbas

Mengapa ./ disisipkan secara automatik di hadapan nama program semasa menaip arahan untuk menjalankan program?

Apabila menjalankan program menggunakan baris arahan, anda mungkin dapati bahawa dua aksara "./" dimasukkan secara automatik di hadapan nama program. Ini kerana dalam sistem Unix dan Linux, "./" mewakili direktori semasa. Apabila anda menaip arahan untuk menjalankan atur cara, sistem akan mencari fail boleh laksana program tersebut terlebih dahulu dalam direktori semasa. Jika anda tidak menambah "./", sistem akan berfikir bahawa anda ingin menjalankan arahan yang disertakan dengan sistem atau program dalam laluan yang ditentukan oleh PATH pembolehubah persekitaran. Oleh itu, untuk memastikan program dalam direktori semasa dijalankan, kita perlu menambah "./" sebelum nama program. Ini ialah tingkah laku lalai sistem yang memastikan keselamatan dan ketekalan baris arahan.

Kandungan soalan

Sebagai contoh,

package main

import (
   "fmt"
    "net/http"
)

func hello(res http.ResponseWriter, req *http.Request) {
    fmt.Fprint(res, "Hello, my name is Inigo Montoya")
}

func main() {
    http.HandleFunc("/", hello)
    http.ListenAndServe("localhost:4000", nil)
}

Mengapa tidak menggantikan inigo ,自动转换为 ./inigo semasa menaip arahan?

Penyelesaian

Anda perlukan

./inigo

Sebab . 不在、也不应该在您的 path 中。 . hanya merujuk kepada direktori semasa.

Dengan mengandaikan anda menggunakan bash, seperti yang ditunjukkan oleh tag soalan, alternatif ini

$pwd/inigo

juga berfungsi seperti laluan relatif atau mutlak lain ke inigo .

Sunting

Sebagai alternatif, anda boleh $pwd 添加到您的 path ,这样做的优点是不需要您键入上述任何内容,而不会产生添加 . risiko keselamatan.

Dengan mengandaikan anda berada dalam direktori yang mengandungi inigo kemudian

path+=:$pwd

Kemudian baru masukkan

inigo

Dari mana-mana sahaja.

Atas ialah kandungan terperinci Mengapa ./ disisipkan secara automatik di hadapan nama program semasa menaip arahan untuk menjalankan program?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam