日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

shell脚本之变量的作用域

發(fā)布時間:2025/3/21 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell脚本之变量的作用域 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

可把變量提升為全局環(huán)境變量,可供其他Shell程序使用

場景1:

a.定義一個變量C,可以打印出來

[root@mylinux2 shell]# C=30 [root@mylinux2 shell]# echo $C 30

b.在腳本文件中打印這個變量C

執(zhí)行腳本,發(fā)現(xiàn)不能拿到C的值

記住 : 用戶登錄之后開啟一個解釋器bash(一號);當啟動一個腳本文件:重新啟動一個bash(二號)去執(zhí)行腳本,二號bash是一號子bash

[root@mylinux2 shell]# C=30 [root@mylinux2 shell]# echo $C 30

而上面的代碼是在一號bash下運行的
執(zhí)行腳本bash test3.sh是在二號bash下運行的

場景2

明確告知:環(huán)境變量TEST_B是在用戶環(huán)境中定義的
一號bash下可以獲得TEST_B的值

[root@mylinux2 shell]# echo $TEST_B 666

把TEST_B寫入到腳本中,執(zhí)行腳本也可以獲得TEST_B的值(二號bash也可以獲得TEST_B的值)

[root@mylinux2 shell]# bash test3.sh 10 hello zl666

總而言之:在我用戶下定義的環(huán)境變量,不管是子bash還是父bash,當前用戶都可以拿到

另一個用戶想拿環(huán)境變量TEST_B?拿不到

場景3

案例:
a、在第二個窗口中定義一個環(huán)境變量

[root@mylinux2 ~]# export TEST_F=40 [root@mylinux2 ~]# echo $TEST_F 40

b、在第一個窗口中拿TEST_F,拿不到

[root@mylinux2 shell]# echo $TEST_F

c、在第一個窗口中的test3.sh中寫入變量
echo $TEST_F
運行腳本,也拿不到值

d、但是在第二個窗口中能拿到值

所以:在第二個服務器中的定義的環(huán)境變量TEST_F,在第一個服務器中拿不到;
原因:臨時的用戶環(huán)境變量只作用到當前bash及它的子bash。

注意:兩個mylinux2服務器中的bash是兩個不同的bash,是同級的bash,


總結

以上是生活随笔為你收集整理的shell脚本之变量的作用域的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。