Linux認證

當前位置 /首頁/IT認證/Linux認證/列表

linux shell程式設計對變數的賦值

linux shell程式設計對變數的賦值

linux shell程式設計對變數的賦值

shell對變數的賦值,所有的.變數都是由字串組成,不需要對變數名預先宣告,而且有很多關鍵字供程式設計者使用。下面列舉例子詳細說明。 在終端下建立檔案 #vi

#!/bin/sh

#set a variable a

a="hello world"

#print a

echo "A is :"

echo $a

在這個程式當中,可以看到shell程式設計與C程式設計的區別,沒有那麼嚴格的語法,在每句不需要加“;”,

而且在shell中引用變數的時候前面加“$”。

1 當變數名與其他文字混淆的時候,需要加“{}”

#!/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 預設變數

$#:傳入指令碼的命令行引數個數

$*:所有命令列的引數值,而且各個引數值之間有空格表示

$0:命令本身,就是要執行的shell檔名

$1:第一個命令列引數

$2:第二個命令列引數

$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

輸出結果:

3

file

11 22 33

11

22

33

3區域性變數

在變數首次賦值是加關鍵字local可以宣告為區域性變數。

#!/bin/sh

hello="aa"

echo $hello

function fucn1{

local hello="bb"

echo $hello

}

func1

echo $hello