Rumah >pembangunan bahagian belakang >Golang >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.
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?
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
.
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!