日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell脚本之变量的作用域

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

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

場景1:

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

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

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

執行腳本,發現不能拿到C的值

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

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

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

場景2

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

[root@mylinux2 shell]# echo $TEST_B 666

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

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

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

另一個用戶想拿環境變量TEST_B?拿不到

場景3

案例:
a、在第二個窗口中定義一個環境變量

[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、但是在第二個窗口中能拿到值

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

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


總結

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

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