shell脚本之变量的作用域
生活随笔
收集整理的這篇文章主要介紹了
shell脚本之变量的作用域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
可把變量提升為全局環境變量,可供其他Shell程序使用
場景1:
a.定義一個變量C,可以打印出來
[root@mylinux2 shell]# C=30 [root@mylinux2 shell]# echo $C 30b.在腳本文件中打印這個變量C
執行腳本,發現不能拿到C的值
記住 : 用戶登錄之后開啟一個解釋器bash(一號);當啟動一個腳本文件:重新啟動一個bash(二號)去執行腳本,二號bash是一號子bash
而上面的代碼是在一號bash下運行的
執行腳本bash test3.sh是在二號bash下運行的
場景2
明確告知:環境變量TEST_B是在用戶環境中定義的
一號bash下可以獲得TEST_B的值
把TEST_B寫入到腳本中,執行腳本也可以獲得TEST_B的值(二號bash也可以獲得TEST_B的值)
[root@mylinux2 shell]# bash test3.sh 10 hello zl666總而言之:在我用戶下定義的環境變量,不管是子bash還是父bash,當前用戶都可以拿到
另一個用戶想拿環境變量TEST_B?拿不到
場景3
案例:
a、在第二個窗口中定義一個環境變量
b、在第一個窗口中拿TEST_F,拿不到
[root@mylinux2 shell]# echo $TEST_Fc、在第一個窗口中的test3.sh中寫入變量
echo $TEST_F
運行腳本,也拿不到值
d、但是在第二個窗口中能拿到值
所以:在第二個服務器中的定義的環境變量TEST_F,在第一個服務器中拿不到;
原因:臨時的用戶環境變量只作用到當前bash及它的子bash。
注意:兩個mylinux2服務器中的bash是兩個不同的bash,是同級的bash,
總結
以上是生活随笔為你收集整理的shell脚本之变量的作用域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux安装python-3.8
- 下一篇: shell编程之特殊变量