欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Go語言能否取代Linux腳本-創(chuàng)新互聯(lián)

Go語言能否取代Linux腳本,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、寶坻網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、寶坻網(wǎng)絡(luò)營銷、寶坻企業(yè)策劃、寶坻品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供寶坻建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:chinadenli.net

在Cloudflare的人們都非常喜歡Go語言。我們?cè)谠S多內(nèi)部軟件項(xiàng)目以及更大的管道系統(tǒng)中使用它。但是,我們能否進(jìn)入下一個(gè)層次并將其用作我們最喜歡的操作系統(tǒng)Linux的腳本語言呢?.

簡短點(diǎn)的回答:為什么不呢?Go相對(duì)容易學(xué)習(xí),不冗余并且有一個(gè)強(qiáng)大的生態(tài)庫,這些庫可以重復(fù)使用避免我們從頭開始編寫所有代碼。它可能帶來的一些其他潛在優(yōu)勢(shì):

咋一看Go腳本貌似很容易實(shí)現(xiàn)Unix腳本的shebang(#!...)支持。shebang行)是腳本的第一行,以#!開頭,并指定腳本解釋器用于執(zhí)行腳本(例如,#!/bin/bash或#!/usr/bin/envpython),所以無論使用何種編程語言,系統(tǒng)都確切知道如何執(zhí)行腳本。Go已經(jīng)使用gorun命令支持.go文件的類似于解釋器的調(diào)用,所以只需要添加適當(dāng)?shù)膕hebang行(#!/usr/bin/envgorun)到任何的.go文件中,設(shè)置好文件的可執(zhí)行狀態(tài),然后就可以愉快的玩耍了。

是否還有其他方式支持

OK,看起來shebang的方法并沒有為我們提供全面的解決方案。是否還有其他方式是我們可以使用的?讓我們仔細(xì)看看Linux內(nèi)核如何執(zhí)行二進(jìn)制文件。當(dāng)你嘗試執(zhí)行一個(gè)二進(jìn)制/腳本(或任何有可執(zhí)行位設(shè)置的文件)時(shí),你的shell最后只會(huì)使用Linuxexecve系統(tǒng)調(diào)用,將它傳遞給二進(jìn)制文件系統(tǒng)路徑,命令行參數(shù)和當(dāng)前定義的環(huán)境變量。然后內(nèi)核負(fù)責(zé)正確解析文件并用文件中的代碼創(chuàng)建一個(gè)新進(jìn)程。我們中的大多數(shù)人都知道Linux(和許多其他類Unix操作系統(tǒng))為其可執(zhí)行文件使用ELF二進(jìn)制格式。

Linux內(nèi)核核心原則

然而,Linux內(nèi)核開發(fā)的核心原則之一是避免任何子系統(tǒng)的“vendor/formatlock-in”,這是內(nèi)核的一部分。因此,Linux實(shí)現(xiàn)了一個(gè)“可插拔”系統(tǒng),它允許內(nèi)核支持任何二進(jìn)制格式-所有你需要做的就是編寫一個(gè)正確的模塊,它可以解析你選擇的格式。如果仔細(xì)研究內(nèi)核源代碼,你會(huì)發(fā)現(xiàn)Linux支持更多的二進(jìn)制格式。例如,最近的4.14Linux內(nèi)核,我們可以看到它至少支持7種二進(jìn)制格式(用于各種二進(jìn)制格式的樹內(nèi)模塊通常在其名稱中具有binfmt_前綴)。值得注意的是binfmt_script模塊,它負(fù)責(zé)解析上面提到的shebang行并在目標(biāo)系統(tǒng)上執(zhí)行腳本(并不是每個(gè)人都知道shebang支持實(shí)際上是在內(nèi)核本身而不是在shell或其他守護(hù)進(jìn)程/進(jìn)程中實(shí)現(xiàn)的)。

但既然我們認(rèn)為shebang不是Go腳本的很好選擇,似乎我們需要?jiǎng)e的東西。令人驚訝的是,Linux內(nèi)核已經(jīng)有了一個(gè)“其他類型的”二進(jìn)制支持模塊,它有一個(gè)貼切的名稱binfmt_misc。該模塊允許管理員通過定義良好的procfs接口直接從用戶空間動(dòng)態(tài)添加對(duì)各種可執(zhí)行格式的支持,并且有詳細(xì)記錄。

關(guān)于Go語言能否取代Linux腳本問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

網(wǎng)站欄目:Go語言能否取代Linux腳本-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://chinadenli.net/article8/depoip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、虛擬主機(jī)、網(wǎng)站維護(hù)、移動(dòng)網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名