歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell的相關知識(變量、腳本定義)

shell的相關知識(變量、腳本定義)

日期:2017/3/1 10:00:22   编辑:SHELL編程

一、shell的相關知識:

1、對於shell編程語言大體分為:機器語言、匯編語言、高級語言

2、shell變量類型:事先確定數據的存儲格式和長度

shell變量分為:字符型、數值型

數值型又分為:整型、浮點型(在shell中一般不使用浮點型數值進行操作)

3、shell:弱類型編程語言

強:變量在使用前,必須事先聲明,甚至還需要初始化:

弱:變量用時聲明:也不需要區分類型:

顯式:明確要轉換成什麼類型:

隱式:不明確轉換成什麼類型,系統要看你進行什麼操作,它會自動給字符轉換成相應類型進行操作,例:11+c=?

默認shell中的變量不能進行運算 例:# C=$A+$B

4、變量賦值:VAR_NAME=VALUE

5、如何定義變量名稱:

a、只能包含字母、數字和下劃線,並且不能數字開頭;

b、不應該跟系統中已有的環境變量重名;

c、最好做到見名知義;

6、bash變量類型:

a 、環境變量

b、本地變量(局部變量)

c、位置變量

d、特殊變量

a、環境變量:作用域為當前shell進程及其子進程;

格式:export varname=value "導出"

b1、本地變量:作用域為整個bash進程;(隨時用隨時定義)

格式:變量名=:

b1、局部變量:作用域為當前代碼段;

格式:local 變量名=值

c、位置變量:$1(第一個參數),$2(第二個參數),...

例:./filetest.sh /etc/fstab /etc/inittab

第一個參數$1:/etc/fstab

第二個參數$2:/etc/inittab

shift:輪替,每執行一個shift就會踢出一個; 格式:shift [n] 可以一下踢出多個

例:./filetest.sh /etc/fstab /etc/inittab /etc/passwd /tmp/config.sh

使用shift 2 就表示把/etc/fstab和/etc/inittab踢出去,而後/etc/passwd就變成了第一個

d、特殊變量:

$?:上一個命令的執行狀態返回值;

$#:傳送給shell程序的位置參數的數量(參數的個數)

$*:調用shell程序時所傳送的全部參數的單字符串,“參數1”“參數2”…形式保存的參數列表

$@:“參數1”“參數2”...形式保存的參數列表

Copyright © Linux教程網 All Rights Reserved