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

溫馨提示×

溫馨提示×

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

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

Shell中變量作用域的示例分析

發布時間:2021-07-01 10:19:02 來源:億速云 閱讀:151 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Shell中變量作用域的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Shell中變量作用域的示例分析”這篇文章吧。

前言

眾所周知Shell 中的變量只作用于當前進程。如需在子進程中創建副本可使用 export 內建命令。 有時使用臨時變量語法可以非常方便。

變量使用

  • 任何地方都可以定義 Shell 變量,使用 = 分隔變量名和變量值。= 前后不可出現空格,但變量的值可以留空。

  • 讀取變量需要添加$前綴。

  • 變量作用域為當前進程。

例如:

url=http://harttle.com
echo $url

export 到子進程

通常變量是不需要 export 的,但是當你需要把一個工作分割成若個小的任務, 分別用一個腳本來實現的時候,就需要把變量名傳遞給它們。 比如有一個 spider.sh 來獲下載任意 URL 到臨時目錄:

#!/usr/bin/env bash
curl $url > $TMPDIR/$RANDOM.html

我們需要將當前腳本中的 url 傳遞給spider.sh:

export url=http://harttle.com
bash ./spider.sh
# 等價于(如果該文件有可執行權限的話)
./spider.sh

值得注意的是export只會在子進程中創建變量的副本,即spider.sh對它的改動不會體現在當前進程。

在當前進程執行腳本

使用 source 或 . 內建命令可以在當前進程執行另一個腳本,因此當前上下文的變量對該腳本是可見的。

url=http://harttle.com

source ./spider.sh
# 等價于
. ./spider.sh

臨時設置環境變量

根據 Shell 語法,在一個簡單命令前可以包含任意個賦值語句。這些變量賦值將會在執行命令前展開,等效于臨時的環境變量。

A “simple command” is a sequence of optional variable assignments and redirections, in any sequence, optionally followed by words and redirections, terminated by a control operator. – Simple Commands, Shell Commands

例如下面命令可以把url變量傳遞給spider.sh:

url=http://harttle.com bash ./spider.sh

這是一條 簡單命令,下面的多條命令或 組合命令:

url=http://harttle.com; bash ./spider.sh   # 兩條命令,只作用于當前進程
url=http://harttle.com && bash ./spider.sh  # 組合命令,只作用于當前進程
export url=http://harttle.com; bash ./spider.sh # 兩條命令,作用于父子進程

簡單命令中的變量賦值也不作用于當前進程。例如下面的代碼將會輸出空行:

url=http://harttle.com echo $url

以上是“Shell中變量作用域的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

当阳市| 响水县| 兴仁县| 白城市| 陇西县| 成都市| 分宜县| 施秉县| 松溪县| 丰顺县| 且末县| 灌云县| 广水市| 佛山市| 会泽县| 宜兰县| 辽宁省| 和林格尔县| 新源县| 曲沃县| 花莲市| 台东县| 璧山县| 元谋县| 井研县| 恩平市| 白山市| 富平县| 峨眉山市| 中方县| 鹿邑县| 滨州市| 襄垣县| 仲巴县| 焦作市| 康保县| 龙陵县| 方山县| 合肥市| 毕节市| 庆阳市|