chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一款用rust制作的命令行工具

jf_wN0SrCdH ? 來源:Rust語言中文社區(qū) ? 2023-05-04 09:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

get-host-ip

這是一款用rust制作的命令行工具。其被設計用來從C:WindowsSystem32ipconfig.exe的執(zhí)行結果內提取出指定【網卡】的屬性值。比如,從電腦本的【無線局域網適配器WLAN】中提取出【IPv4地址】字符串值。

使用場景

Windows Subsystem for Linux(比如,Ubuntu-20.04)讀取其宿主主機(比如,Windows 11)無線物理網卡的IP地址。進而,將其作為兩項重要功能的配置項入參:

  1. 投影WSL2圖形界面至Windows宿主桌面系統(tǒng)顯示。

  • 無論是將整個Gnome桌面系統(tǒng)投影作為Windows環(huán)境下的一個應用程序窗口,還僅只是投影某個Linux GUI應用程序,X11 Server都需要借助$DISPLAY環(huán)境變量明確地知曉XSTATA的準確IP位置。請不要自做聰明地認為127.0.0.1可能搪塞過去。127.0.0.1是指向WSL2子系統(tǒng)自身,而不是宿主主機。

  • 關于WSL2桌面投影的更多技術細節(jié),可參見我早先的另一篇文章為 Rust+QT 編程搭建【偽】win32 開發(fā)環(huán)境。還算是詳細吧!

  • 使Windows宿主操作系統(tǒng)共享VPN客戶端給WSL2子系統(tǒng)。

  • 從操作上,執(zhí)行export HTTP_PROXY=***指令要比在Linux系統(tǒng)里安裝與配置另一個Clash實例要省心多了。

  • 從后續(xù)維護上,對VPN客戶端的軟件升級與配置更新僅需要做一遍操作更節(jié)省時間。

  • 從經濟上,更少的在線客戶端數(shù)量也更便宜。

曾經的糾結

早先我也曾經使用nodejs腳本程序實現(xiàn)了相同的功能。但,node虛擬機首次啟動時間著實有些長了。雖然該長延時弊端在交互式bash上下文中并不明顯(畢竟咱敲鍵盤也不快,還時不時地敲錯字母),但當被置于.bashrc內執(zhí)行時,其造成的shell會話初始化阻滯就讓人有點不好接受了(畢竟,每次開個新shell窗口都得明顯黑幕個把秒鐘,體驗著實有些兒差)。所以,我決心使用rust重構此“熱”指令。效果明顯,幾乎一閃便可完成shell初始化。

命令行指令-用法


	

$ get-host-ip --help 獲取 wsl 宿主機器的物理 IP 地址 Usage: get-host-ip [OPTIONS] Options: -s, --section

ipconfig.exe 返回結果中的【主分類】標題 [default: "無線局域網適配器 WLAN"] -e, --entry ipconfig.exe 返回結果中的【主分類】下各個條目的標簽名 [default: "IPv4 地址"] -h, --help Print help -V, --version Print version

更詳細圖例

c363230a-e8b5-11ed-ab56-dac502259ad0.png

返回結果

get-host-ip執(zhí)行輸出就是沒有結尾換行符的IP地址字符串。若將該指令添加入$PATH,那么在Shell求值表達式內可以直接


	

export HOST_IP=$(get-host-ip);

鏈接庫依賴

因為Windows cmd指令輸出文本內容的字符集是cp936,而不是UTF-8。所以,get-host-ip需要依賴操作系統(tǒng)預置的字符集轉換動態(tài)鏈接庫libiconv,來完成cp936 -> UTF-8的字符集轉換。

Linux操作系統(tǒng)

大部分主流Linux OS都包含有libiconv。若你的Linux OS版本比較早或是compact版而缺失了libiconv也不必慌。按如下方式補裝即可:


	

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.1.tar.gz tar -xzvf libiconv-1.9.1.tar.gz cd libiconv-1.9.1.tar.gz ./configure --prefix=/usr/local sudo make -j8 sudo make install sudo ln -s /usr/local/lib/libiconv.so /usr/lib/libiconv.so sudo ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

Windows操作系統(tǒng)

要么,從setup直接下載安裝包,并本地安裝之。缺點就是會“污染”你的PATH環(huán)境變量。

要么,從binary下載預編譯包。在解壓縮之后,將其下的bin目錄添加到你的編譯環(huán)境變量RUST_FLAGS內。比如,


	

set RUST_FLAGS=-L C:libiconv-1.9.2-1-binbin

吐槽

同一款libiconv鏈接庫怎么對LinuxWindows操作系統(tǒng)提供了不同名的導出函數(shù)呢?這個“缺德的”命名差異導致我在【編譯期·動態(tài)鏈接】環(huán)節(jié)卡住了好幾天。相對于Linux版的鏈接庫導出函數(shù)名,Windows版的每個導出函數(shù)都有一個lib前綴 —— 故意的吧?真要命。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 命令
    +關注

    關注

    5

    文章

    737

    瀏覽量

    22880
  • 腳本
    +關注

    關注

    1

    文章

    398

    瀏覽量

    28456
  • Rust
    +關注

    關注

    1

    文章

    234

    瀏覽量

    7098

原文標題:get-host-ip

文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    在STM32實現(xiàn)命令行

    工作中的開發(fā)環(huán)境都是基于linux命令行交互,作為命令行的重度使用者,玩單片機也要使用命令行工具,百度了
    發(fā)表于 12-09 11:32 ?3092次閱讀

    Linux命令行工具

    Linux 新手往往對命令行心存畏懼。部分原因是因為需要記憶大量的命令,畢竟掌握命令是高效使用命令行的前提不幸的是,學習這些命令并無捷徑,
    發(fā)表于 07-25 08:10

    caxa命令行中的應用

    caxa命令行中的應用 命令行對于大多用戶來說往往只是輸入數(shù)據的作用,但是其中的奧妙還有很多,下面就給大家
    發(fā)表于 10-18 18:18 ?2422次閱讀

    CMD的命令行高級教程

    CMD的命令行高級教程
    發(fā)表于 10-24 08:31 ?30次下載
    CMD的<b class='flag-5'>命令行</b>高級教程

    監(jiān)控jvm常用的5個命令行工具

    常用的幾個命令行工具有jps、jstat、jinfo、jmap、jstack等。這幾個工具可以安裝openjdk-devel-debug包。
    的頭像 發(fā)表于 02-06 14:47 ?6139次閱讀
    監(jiān)控jvm常用的5個<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>

    實用 Linux 命令行使用技巧集錦

    下面介紹的都是命令行工具,這些工具在日常工作中都很有用。
    的頭像 發(fā)表于 03-21 14:42 ?5033次閱讀

    Xilinx軟件命令行工具:XSCT開發(fā)和調試

    了解如何使用XSCT,Xilinx軟件命令行工具進行開發(fā)和調試。 該視頻演示了XSCT如何充當Xilinx SDK的命令行控制臺。
    的頭像 發(fā)表于 11-21 06:02 ?1.5w次閱讀

    Xilinx軟件命令行工具進行開發(fā)和調試

    了解如何使用XSCT,Xilinx軟件命令行工具進行開發(fā)和調試。 該視頻演示了XSCT如何充當Xilinx SDK的命令行控制臺。
    的頭像 發(fā)表于 11-22 06:53 ?7166次閱讀

    Git常見的誤區(qū)和命令行工具等綜述

    Git常見的誤區(qū)和命令行工具等綜述
    發(fā)表于 08-31 09:51 ?0次下載

    Golang基于flag庫實現(xiàn)命令行工具

    Golang 標準庫中的 flag 庫提供了解析命令行選項的能力,我們可以基于此來開發(fā)命令行工具。
    的頭像 發(fā)表于 10-28 09:26 ?1576次閱讀

    新的開源命令行工具west

    電子發(fā)燒友網站提供《新的開源命令行工具west.zip》資料免費下載
    發(fā)表于 11-11 09:25 ?0次下載
    新的開源<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>west

    用于解析和操作URL的命令行工具

    curl 作者 Daniel 宣布推出新的開源項目:trurl,這是一款用于解析和操作 URL 的命令行工具,主要是面向 shell 腳本作者提供。Daniel 稱項目名字中的 'tr' 代表 transla
    的頭像 發(fā)表于 04-11 10:02 ?1393次閱讀

    介紹Go里面經常使用到的命令行工具

    優(yōu)秀的工具配合熟練的使用,往往可以讓開發(fā)效率大幅度提升,本小節(jié)介紹 Go 里面經常使用到的命令行工具。
    的頭像 發(fā)表于 05-22 16:58 ?1594次閱讀
    介紹Go里面經常使用到的<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>

    PetaLinux工具文檔:命令行參考指南

    電子發(fā)燒友網站提供《PetaLinux工具文檔:命令行參考指南.pdf》資料免費下載
    發(fā)表于 09-15 14:52 ?0次下載
    PetaLinux<b class='flag-5'>工具</b>文檔:<b class='flag-5'>命令行</b>參考指南

    HarmonyOS開發(fā):【基于命令行(安裝庫和工具集)】

    使用命令行進行設備開發(fā)時,可以通過以下步驟安裝編譯OpenHarmony需要的庫和工具。
    的頭像 發(fā)表于 04-25 21:03 ?783次閱讀
    HarmonyOS開發(fā):【基于<b class='flag-5'>命令行</b>(安裝庫和<b class='flag-5'>工具</b>集)】