最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell中變量作用域的介紹與使用命令

 更新時(shí)間:2017年08月14日 11:16:17   作者:Harttle  
作用域是我們在日常學(xué)習(xí)或者工作中經(jīng)常會(huì)遇到的一個(gè)問題,下面這篇文章主要給大家介紹了關(guān)于Shell中變量作用域的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

眾所周知Shell 中的變量只作用于當(dāng)前進(jìn)程。如需在子進(jìn)程中創(chuàng)建副本可使用 export 內(nèi)建命令。 有時(shí)使用臨時(shí)變量語法可以非常方便。

變量使用

  • 任何地方都可以定義 Shell 變量,使用 = 分隔變量名和變量值。= 前后不可出現(xiàn)空格,但變量的值可以留空。
  • 讀取變量需要添加$前綴。
  • 變量作用域?yàn)楫?dāng)前進(jìn)程。

例如:

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

export 到子進(jìn)程

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

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

我們需要將當(dāng)前腳本中的 url 傳遞給spider.sh:

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

值得注意的是export只會(huì)在子進(jìn)程中創(chuàng)建變量的副本,即spider.sh對它的改動(dòng)不會(huì)體現(xiàn)在當(dāng)前進(jìn)程。

在當(dāng)前進(jìn)程執(zhí)行腳本

使用 source 或 . 內(nèi)建命令可以在當(dāng)前進(jìn)程執(zhí)行另一個(gè)腳本,因此當(dāng)前上下文的變量對該腳本是可見的。

url=http://harttle.com

source ./spider.sh
# 等價(jià)于
. ./spider.sh

臨時(shí)設(shè)置環(huán)境變量

根據(jù) Shell 語法,在一個(gè)簡單命令前可以包含任意個(gè)賦值語句。這些變量賦值將會(huì)在執(zhí)行命令前展開,等效于臨時(shí)的環(huán)境變量。

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   # 兩條命令,只作用于當(dāng)前進(jìn)程
url=http://harttle.com && bash ./spider.sh  # 組合命令,只作用于當(dāng)前進(jìn)程
export url=http://harttle.com; bash ./spider.sh # 兩條命令,作用于父子進(jìn)程

簡單命令中的變量賦值也不作用于當(dāng)前進(jìn)程。例如下面的代碼將會(huì)輸出空行:

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息

    使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息

    這篇文章主要介紹了使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息,需要的朋友可以參考下
    2014-05-05
  • Shell實(shí)用技巧:快速去除字符串中的空格

    Shell實(shí)用技巧:快速去除字符串中的空格

    這篇文章主要介紹了Shell實(shí)用技巧:快速去除字符串中的空格,本文給出了3種方法,分別講解了刪除行首空格、刪除行末空格、刪除所有空格等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • 列出所有Bash Shell內(nèi)置命令的方法示例

    列出所有Bash Shell內(nèi)置命令的方法示例

    大家都知道不同的Shell內(nèi)置命令有所不同,所以下面這篇文章主要給大家介紹了關(guān)于如何列出所有Bash Shell內(nèi)置命令的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • Shell腳本實(shí)現(xiàn)ftok函數(shù)

    Shell腳本實(shí)現(xiàn)ftok函數(shù)

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)ftok函數(shù),ftok函數(shù)是操作系統(tǒng)底層中很有名的一個(gè)函數(shù),本文講在Shell中如何實(shí)現(xiàn)同樣算法的函數(shù),需要的朋友可以參考下
    2015-01-01
  • Linux常用命令大全(超全面)

    Linux常用命令大全(超全面)

    這篇文章主要介紹了Linux常用命令大全(超全面),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 教你在Linux中從視頻流截取圖片幀(ffmpeg)

    教你在Linux中從視頻流截取圖片幀(ffmpeg)

    本文詳細(xì)介紹了如何在Linux環(huán)境下使用ffmpeg命令來提取視頻幀,通過設(shè)置指定的幀選擇過濾器,每10幀提取一幀,總共提取5張圖片,并設(shè)置輸出圖片的質(zhì)量,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Linux系統(tǒng)如何修改防火墻配置

    Linux系統(tǒng)如何修改防火墻配置

    這篇文章主要介紹了Linux系統(tǒng)如何修改防火墻配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Shell腳本判斷用戶的輸入內(nèi)容

    Shell腳本判斷用戶的輸入內(nèi)容

    今天小編就為大家分享一篇關(guān)于Shell腳本判斷用戶的輸入內(nèi)容,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Shell腳本實(shí)現(xiàn)防止國外ip訪問服務(wù)器

    Shell腳本實(shí)現(xiàn)防止國外ip訪問服務(wù)器

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)防止國外ip訪問服務(wù)器,本文通過分析使用IP地址庫,然后把國外IP指導(dǎo)入iptables并禁止訪問實(shí)現(xiàn),需要的朋友可以參考下
    2014-12-12
  • 如何短時(shí)間內(nèi)學(xué)好一門語言 shell腳本語言為例

    如何短時(shí)間內(nèi)學(xué)好一門語言 shell腳本語言為例

    這篇文章主要以shell腳本語言為例,為大家介紹了如何短時(shí)間內(nèi)學(xué)好一門語言,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論

友谊县| 松江区| 祁门县| 昌吉市| 扬州市| 永丰县| 宁陕县| 建湖县| 万年县| 桂阳县| 石棉县| 罗江县| 大名县| 文登市| 溆浦县| 常德市| 永城市| 渝中区| 富阳市| 温州市| 买车| 宜兰市| 卫辉市| 崇义县| 韶山市| 扶沟县| 铜山县| 页游| 南皮县| 达拉特旗| 确山县| 舟山市| 临城县| 新化县| 乡宁县| 八宿县| 田东县| 舒城县| 班戈县| 临武县| 岫岩|