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

王林
Lepaskan: 2024-02-09 19:45:12
ke hadapan
855 orang telah melayarinya

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)
}
Salin selepas log masuk

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

Penyelesaian

Anda perlukan

./inigo
Salin selepas log masuk

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

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

$pwd/inigo
Salin selepas log masuk

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
Salin selepas log masuk

Kemudian baru masukkan

inigo
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!