91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux export命令怎么正確使用

發布時間:2022-02-08 15:51:11 來源:億速云 閱讀:239 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Linux export命令怎么正確使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Linux export命令怎么正確使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

Linux export命令怎么正確使用

export

為shell變量或函數設置導出屬性。

概要

 export [-fn] [name[=word]]...
 export -p

主要用途

  • 定義一到多個變量并設置導出屬性。

  • 修改一到多個變量的值并設置導出屬性。

  • 刪除一到多個變量的導出屬性。

  • 顯示全部擁有導出屬性的變量。

  • 為一到多個已定義函數新增導出屬性。

  • 刪除一到多個函數的導出屬性。

  • 顯示全部擁有導出屬性的函數。

選項

 -f:指向函數。
 -n:刪除變量的導出屬性。
 -p:顯示全部擁有導出屬性的變量。
 -pf:顯示全部擁有導出屬性的函數。
 -nf:刪除函數的導出屬性。
 --:在它之后的選項無效。

參數

name(可選):變量名或已定義函數名。

value(可選):變量的值。

返回值

export返回true除非你提供了非法選項或非法名稱。

例子

 # 顯示全部擁有導出屬性的變量。
 # export -p
 # export
 # 顯示全部擁有導出屬性的函數。
 # export -pf
 # 首先刪除要演示的變量名
 #unset a b
 # 定義變量的同時增加導出屬性
 export a b=3
 # 當然也可以先定義后增加導出屬性
 b=3
 export b
 
 # 修改擁有導出屬性的變量的值
 export a=5 b=7
 # 當然也可以直接賦值修改
 a=5;b=7
 
 # 刪除變量的導出屬性
 export -n a b
 # 首先刪除要演示的函數名
 unset func_1 func_2
 # 創建函數
 function func_1(){ echo '123'; }
 function func_2(){ echo '890'; }
 
 # 為已定義函數增加導出屬性
 export -f func_1 func_2
 
 # 刪除函數的導出屬性
 export -fn a b
 # 添加環境變量(JAVA)到`~/.bashrc`
 PATH=/usr/local/jdk1.7.0/bin:$PATH
 # 添加當前位置到動態庫環境變量
 export LD_LIBRARY_PATH=$(pwd):${LD_LIBRARY_PATH}

錯誤用法

  • 對未定義的函數添加導出屬性。

  • 對沒有導出屬性的函數/變量執行刪除導出屬性操作。

  • 在 -- 后使用選項。

Q&A

Q:對變量或函數設置導出屬性有什么用?

A:它們會成為環境變量,可以在腳本中訪問它們,尤其是腳本中調用的子進程需要時。

Q:如果我編寫的腳本修改了已有的環境變量的值,那么執行它會在當前終端生效嗎?會影響之前以及之后打開的終端嗎?

A:只有通過source方式調用的腳本會生效,您可以查看source命令獲得更多信息;其他方式只是在子shell中執行。 之前的不會影響,之后的除非是修改了~/.bashrc這種啟動終端時加載的腳本。

Q:我腳本文件中調用~/.bashrc中定義的函數和變量。為什么在新打開的終端中通過 sh 方式調用該腳本或直接運行

這個當前用戶有執行權限的腳本卻不能使用這些函數和變量?   

A:請在~/.bashrc文件中增加export它們的語句。

Q:數組和關聯數組也可以設置導出屬性嗎?

A:是可以的(如果你的bash支持它們),不過有些問題。

Q:為什么我在查看變量或函數導出屬性的時候顯示的開頭是declare?

A:因為declare也能夠設置變量或函數的導出屬性,詳見declare命令。

注意

  1. 該命令是bash內建命令,相關的幫助信息請查看help命令。

知識點

在info bash或 bash在線文檔 的  3.7.3節提到了shell執行環境,其中涉及變量和函數的內容如下

  • shell parameters that are set by variable assignment or with set or inherited from the shell’s parent in the environment

  • shell functions defined during execution or inherited from the shell’s parent in the environment

那么第一句話中的參數又和變量有什么關系呢?在3.4節第一段中提到:

A variable is a parameter denoted by a name.

變量是有名字的參數。

那么子shell確實繼承了父shell中帶有導出屬性的變量或函數。

讀到這里,這篇“Linux export命令怎么正確使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

剑河县| 高淳县| 雅安市| 乌海市| 鄢陵县| 黄冈市| 堆龙德庆县| 开平市| 吉安市| 金平| 大足县| 云霄县| 根河市| 独山县| 聊城市| 富川| 伊川县| 嘉义市| 筠连县| 汾阳市| 鲁山县| 哈巴河县| 安平县| 建瓯市| 理塘县| 昆明市| 积石山| 弥勒县| 台东市| 塘沽区| 墨玉县| 财经| 万山特区| 白朗县| 应城市| 拜泉县| 盖州市| 定结县| 莒南县| 西乌| 固始县|