国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

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

2020-07-27 18:52:21
字體:
來源:轉載
供稿:網友

前言

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

變量使用

  • 任何地方都可以定義 Shell 變量,使用 = 分隔變量名和變量值。= 前后不可出現空格,但變量的值可以留空。
  • 讀取變量需要添加$前綴。
  • 變量作用域為當前進程。

例如:

url=http://harttle.comecho $url

export 到子進程

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

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

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

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

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

在當前進程執行腳本

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

url=http://harttle.comsource ./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.

主站蜘蛛池模板: 和林格尔县| 桃园县| 延庆县| 如东县| 莲花县| 金湖县| 南岸区| 道孚县| 芒康县| 南阳市| 霍州市| 锦州市| 深泽县| 汪清县| 马鞍山市| 雷州市| 洪雅县| 凭祥市| 无锡市| 运城市| 盐亭县| 宁武县| 墨玉县| 舞钢市| 油尖旺区| 达日县| 如皋市| 鸡东县| 增城市| 蒲城县| 保定市| 塔河县| 蚌埠市| 浦城县| 宁都县| 东乡| 仙桃市| 兴城市| 云阳县| 凤庆县| 托里县|