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

shell腳本引用外部變量的兩種方法

 更新時間:2023年05月06日 09:47:08   投稿:zx  
本文主要介紹了shell腳本引用外部變量的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本地變量只能在當前bash進程中有效,對當前shell之外的其它進程,包括子進程均無效。而啟動腳本實際就是開啟一個子進程執(zhí)行命令,所以,在腳本里就無法引用父進程上的本地變量。如下,

引用外部變量失敗:

[root@centos7 test]#echo $var
yes
[root@centos7 test]#bash test.sh?
[root@centos7 test]#

那如何在腳本中引用外部變量呢,有兩種方法可以實現(xiàn)

第一種:把變量設(shè)置成環(huán)境變量

[root@centos7 test]#export var
[root@centos7 test]#bash test.sh 
yes
[root@centos7 test]#

第二種:用source方式啟動腳本(或者用. /path/name.sh;注意點號和斜杠之間必須有空格,若沒有空格就是直接執(zhí)行腳本,是不一樣的),這種方式不會開啟子進程,而是把腳本加載到當前進程中執(zhí)行,所以也就能引用當前進程中的本地變量了。

[root@centos7 test]#newvar="no"
[root@centos7 test]#source test.sh 
no
[root@centos7 test]#. test.sh 
no
[root@centos7 test]#

舉例

假設(shè)有如下兩個腳本:

main.sh           #主腳本
subscripts.sh     #子腳本,或者說被調(diào)腳本 

subscripts.sh 腳本內(nèi)容如下:

#! /bin/bash ?
string="Hello,World! \n"

main.sh 腳本(引用 subscripts.sh 腳本的變量)內(nèi)容如下:

#! /bin/bash ?
. ./subscripts.sh ?
echo -e ${string} ?
exit 0 ?

運行 mian.sh 腳本輸出結(jié)果:

# chmod +x main.sh  
# ./main.sh  
Hello,World!

注意:

  • 被調(diào)腳本可以沒有執(zhí)行權(quán)限,調(diào)用腳本必須有可執(zhí)行權(quán)限。
  • 上述例子中是變量的引用,函數(shù)的引用也是一樣的流程。

 到此這篇關(guān)于shell腳本引用外部變量的兩種方法的文章就介紹到這了,更多相關(guān)shell 引用外部變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

金华市| 枣庄市| 德昌县| 元阳县| 凉山| 平舆县| 屏东市| 鹤岗市| 芦山县| 张北县| 汉川市| 白水县| 灵台县| 荃湾区| 怀来县| 博野县| 台中市| 赫章县| 肥西县| 微博| 班玛县| 奎屯市| 左贡县| 襄樊市| 象山县| 台南县| 红原县| 伊金霍洛旗| 天镇县| 阜康市| 界首市| 清镇市| 出国| 福安市| 太保市| 濮阳市| 禄劝| 泌阳县| 金秀| 衢州市| 临朐县|