Shell变量作用域
生活随笔
收集整理的這篇文章主要介紹了
Shell变量作用域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總結
- 定義在函數外的變量為全局變量,作用域為定義位置開始到shell結束。
- 定義在函數內的變量,默認為全部變量,作用域為定義位置開始到shell結束,即函數內對變量的修改,會在函數外被訪問到。變量前加local關鍵字,則變量為局部變量,作用域在函數內,即函數內對變量的修改,不會在函數外被訪問到。
- 定義在函數內的全局變量,當函數在子shell調用時,作用域在子shell內,不會被父shell訪問。
- 子shell內的對父shell變量的修改不會被父shell訪問到。
示例
g="g" func1() { g="g1" }func2() { local g="g2" }echo "g:$g" # output:g:g func1 echo "g:$g" # output:g:g1 g="g" func2 echo "g:$g" # output:g:g g="g" a=`func2` #子shell調用, echo "g:$g" # output:g:g總結
以上是生活随笔為你收集整理的Shell变量作用域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx教程-安装
- 下一篇: awk内置函数