linux shell編程對變量的賦值
shell對變量的賦值,所有的.變量都是由字符串組成,不需要對變量名預(yù)先聲明,而且有很多關(guān)鍵字供編程者使用。下面列舉例子詳細(xì)說明。 在終端下建立文件 #vi s2.sh
#!/bin/sh
#set a variable a
a="hello world"
#print a
echo "A is :"
echo $a
在這個程序當(dāng)中,可以看到shell編程與C編程的區(qū)別,沒有那么嚴(yán)格的語法,在每句不需要加“;”,
而且在shell中引用變量的時候前面加“$”。
1 當(dāng)變量名與其他文字混淆的時候,需要加“{}”
#!/bin/sh
# set a variable num
num=2
echo "the variable num is $numnd"
運行程序后,答案并不是 the variable num is 2nd,而是什么都沒有輸出。因為bash會尋找numnd變量,但是并沒有給這個變量賦值。所以將程序改為:
echo "the variable num is {$num}nd"
2 默認(rèn)變量
$#:傳入腳本的命令行參數(shù)個數(shù)
$*:所有命令行的參數(shù)值,而且各個參數(shù)值之間有空格表示
$0:命令本身,就是要執(zhí)行的shell文件名
$1:第一個命令行參數(shù)
$2:第二個命令行參數(shù)
$3
$4
example:
#!/bin/sh
echo "number of vars:"$#
echo "number of vars:"$0
echo "number of vars:"$*
echo "number of vars:"$1
echo "number of vars:"$2
echo "number of vars:"$3
運行./file 11 22 33
輸出結(jié)果:
3
file
11 22 33
11
22
33
3局部變量
在變量首次賦值是加關(guān)鍵字local可以聲明為局部變量。
#!/bin/sh
hello="aa"
echo $hello
function fucn1{
local hello="bb"
echo $hello
}
func1
echo $hello
【 linux shell編程對變量的賦值】相關(guān)文章:
linux shell編程的簡介10-15
Linux shell常用命令匯總11-12
Linux Shell文本處理工具05-17
Linux Shell文本處理工具匯總篇06-12