真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用source命令將函數(shù)和變量導(dǎo)入Bash

小編給大家分享一下如何使用source命令將函數(shù)和變量導(dǎo)入Bash,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、界首網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為界首等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

source 就像 Python 的 import 或者 Java 的 include。學(xué)習(xí)它來(lái)擴(kuò)展你的 Bash 能力。

登錄 Linux shell 時(shí),你將繼承特定的工作環(huán)境。對(duì)于 shell 而言,“環(huán)境environment”意味著已經(jīng)為你設(shè)置了某些變量,以確保你的命令可以按預(yù)期工作。例如,PATH 環(huán)境變量定義 shell 從哪里查找命令。沒有它,幾乎在 Bash 中嘗試執(zhí)行的所有操作都會(huì)因“命令未發(fā)現(xiàn)” 錯(cuò)誤而失敗。在執(zhí)行日常任務(wù)時(shí),環(huán)境對(duì)你幾乎是不可見的,但它很重要。

有多種方法可以影響你的 shell 環(huán)境。你可以在配置文件中進(jìn)行修改,例如 ~/.bashrc 和 ~/.profile,你可以在啟動(dòng)時(shí)運(yùn)行服務(wù),還可以創(chuàng)建自己的自定義命令或編寫自己的 Bash 函數(shù) 。

通過(guò) source 添加到你的環(huán)境

Bash(以及其他一些 shell)有一個(gè)稱為 source 的內(nèi)置命令。這就是令人困惑的地方:source 執(zhí)行與命令 . 相同的功能(是的,那只是一個(gè)點(diǎn)),而與 Tcl 命令的 source 不是同一個(gè)(如果你輸入 man source,也許在屏幕上顯示的是它)。實(shí)際上,內(nèi)置的 source 命令根本不在你的 PATH 中。這是 Bash 附帶的命令,要獲取有關(guān)它的更多信息,可以輸入 help source。

. 命令兼容 POSIX。 但 source 命令不是 POSIX 定義的,但可以與 . 命令互換使用。

根據(jù) Bash helpsource 命令在你當(dāng)前的 shell 中執(zhí)行一個(gè)文件。 “在你當(dāng)前的 shell 中” 這句很重要,因?yàn)樗硎舅粫?huì)啟動(dòng)子 shell。因此,用 source 執(zhí)行的任何操作都發(fā)生在內(nèi)部并影響當(dāng)前環(huán)境。

在探討 source 對(duì)環(huán)境的影響之前,請(qǐng)用 source 命令導(dǎo)入一個(gè)測(cè)試文件,以確保其按預(yù)期執(zhí)行代碼。首先,創(chuàng)建一個(gè)簡(jiǎn)單的 Bash 腳本并將其保存為 hello.sh

#!/usr/bin/env bashecho "hello world"

使用 source,即使該腳本不設(shè)置可執(zhí)行也可以運(yùn)行:

$ source hello.shhello world

你也可以使用內(nèi)置的 . 命令獲得相同的結(jié)果:

$ . hello.shhello world

source 和 . 命令成功地執(zhí)行了測(cè)試文件的內(nèi)容。

設(shè)置變量和導(dǎo)入函數(shù)

你可以使用 source 將文件 “導(dǎo)入” 到 shell 環(huán)境中,就像你可以在 C 或 C++ 中使用 include 關(guān)鍵字引用一個(gè)庫(kù),或者在 Python 中使用 import 關(guān)鍵字引入一個(gè)模塊一樣。這是 source 的最常見用法之一,它也是 .bashrc 中的一個(gè)默認(rèn)包含方式,通過(guò) source 導(dǎo)入 .bash_aliases,以便將任何你自定義的別名在登錄時(shí)導(dǎo)入到你的環(huán)境。

這是導(dǎo)入 Bash 函數(shù)的示例。首先,在名為 myfunctions 的文件中創(chuàng)建一個(gè)函數(shù)。它將打印你的公共 IP 地址和本地 IP 地址:

function myip() {        curl                ip addr | grep inet$IP | \        cut -d"/" -f 1 | \        grep -v 127\\.0 | \        grep -v \:\:1 | \        awk '{$1=$1};1'}

將該函數(shù)導(dǎo)入你的 shell:

$ source myfunctions

測(cè)試新函數(shù):

$ myip93.184.216.34inet 192.168.0.23inet6 fbd4:e85f:49c:2121:ce12:ef79:0e77:59d1inet 10.8.42.38

source 的搜索

當(dāng)你在 Bash 中使用 source 時(shí),它將在當(dāng)前目錄中搜索你引用的文件。但并非所有 shell 都這樣,因此,如果你不使用 Bash,請(qǐng)查看文檔。

如果 Bash 找不到要執(zhí)行的文件,它將搜索你的 PATH。同樣,這并不是所有 shell 的默認(rèn)設(shè)置,因此,如果你不使用 Bash,請(qǐng)查看文檔。

這些都是 Bash 中不錯(cuò)的便利功能。這種出奇地強(qiáng)大,因?yàn)樗试S你將常用函數(shù)保存在磁盤上的一個(gè)集中的位置,然后將你的環(huán)境視為集成開發(fā)環(huán)境 (IDE)。你不必?fù)?dān)心函數(shù)的存儲(chǔ)位置,因?yàn)槟阒浪鼈冊(cè)谀愕谋镜匚恢玫韧谠?nbsp;/usr/include 下,因此無(wú)論你在哪,當(dāng)你導(dǎo)入它們時(shí),Bash 都可以找到它們。

例如,你可以創(chuàng)建一個(gè)名為 ~/.local/include 的目錄作為常見函數(shù)存儲(chǔ)區(qū),然后將此代碼塊放入 .bashrc 文件中:

for i in $HOME/.local/include/*;  do source $idone

這會(huì)將 ~/.local/include 中所有包含自定義函數(shù)的文件“導(dǎo)入”到 shell 環(huán)境中。

當(dāng)你使用 source 或 . 命令時(shí),Bash 是唯一搜索當(dāng)前目錄和 PATH 的 shell。

將 source 用于開源

使用 source 或 . 來(lái)執(zhí)行文件是影響環(huán)境同時(shí)保持變更模塊化的一種便捷方法。在下次考慮將大量代碼復(fù)制并粘貼到 .bashrc 文件中時(shí),請(qǐng)考慮將相關(guān)函數(shù)或別名組放入專用文件中,然后使用 source 導(dǎo)入它們。

以上是“如何使用source命令將函數(shù)和變量導(dǎo)入Bash”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享名稱:如何使用source命令將函數(shù)和變量導(dǎo)入Bash
瀏覽地址:http://weahome.cn/article/gjcogs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部