马哥学习笔记——shell变量类型
shell變量基礎
shell 變量是一種很“弱”的變量,默認情況下,一個變量保存一個串,shell不關心這個串是什么含義。所以若要進行數學運算,必須使用一些命令例如let、 declare、expr、雙括號等。shell變量可分為兩類:局部變量和環境變量。局部變量只在創建它們的shell中可用。而環境變量則可以在創建 它們的shell及其派生出來的任意子進程中使用。有些變量是用戶創建的,其他的則是專用shell變量。變量名必須以字母或下劃線字符開頭。其余的字符 可以是字母、數字(0~9)或下劃線字符。任何其他的字符都標志著變量名的終止。名字是大小寫敏感的。給變量賦值時,等號周圍不能有任何空白符。為了給變 量賦空值,可以在等號后跟一個換行符。用set命令可以查看所有的變量,unset ? var命令可以清除變量var,var相當于沒有定義過。readonly var可以把var變為只讀變量,定義之后不能對var進行任何更改。對shell變量的引用方式很多,用這些方式可以方便的獲取shell變量的值,變 量值的長度,變量的一個字串,變量被部分替換后的值等等。
本地變量:作用域為整個bash進程
set VARNAME=VALUE
局部變量:作用域為當前代碼段
local VARNAME=VALUE
環境變量:作用域為當前shell進程及其子進程;
export VARNAME=VALUE
VARNAME=VALUE
export VARNAME
位置變量:
$1, $2, ...
特殊變量:
$0:當前腳本的文件名
$num:num為從1開始的數字,$1是第一個參數,$2是第二個參數,${10}是第十個參數
$#:傳入腳本的參數的個數
$*:所有的位置參數(作為單個字符串)
$@:所有的位置參數(每個都作為獨立的字符串)。
$?:當前shell進程中,上一個命令的返回值,如果上一個命令成功執行則$?的值為0,否則為其他非零值,常用做if語句條件
$$:當前shell進程的pid
$!:后臺運行的最后一個進程的pid
$-:顯示shell使用的當前選項
$_:之前命令的最后一個參數
轉載于:https://blog.51cto.com/wangyongbin/1633889
總結
以上是生活随笔為你收集整理的马哥学习笔记——shell变量类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转) oc static extern
- 下一篇: Xcode 中的IOS工程模板