linux shell基礎五之資料型別

2021-07-31 17:55:04 字數 1918 閱讀 7164

字串是shell程式設計中最常用最有用的資料型別(除了數字和字串,也沒啥其它型別好用了),字串可以用單引號,也可以用雙引號,也可以不用引號。單雙引號的區別跟php類似。

單引號

str='this is a string'

單引號字串的限制:

單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的;

單引號字串中不能出現單引號(對單引號使用轉義符後也不行)。

雙引號

your_name='qinjx'

str="hello, i know your are \"$your_name\"! \n"

雙引號的優點:

雙引號裡可以有變數

雙引號裡可以出現轉義字元

拼接字串

your_name="qinjx"

greeting="hello, "$your_name" !"

greeting_1="hello, $ !"

echo $greeting $greeting_1

獲取字串長度

string="abcd"

echo $ #輸出 4

提取子字串

string="alibaba is a great company"

echo $ #輸出liba

查詢子字串

純文字複製

string="alibaba is a great company"

echo `expr index "$string" is

陣列bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。

定義陣列

在shell中,用括號來表示陣列,陣列元素用「空格」符號分割開。定義陣列的一般形式為:

array_name=(value1 ... valuen)

例如:array_name=(value0 value1 value2 value3)

或者array_name=(

value0

value1

value2

value3

)

還可以單獨定義陣列的各個分量:

array_name[0]=value0

array_name[1]=value1

array_name[2]=value2

可以不使用連續的下標,而且下標的範圍沒有限制。

讀取陣列

讀取陣列元素值的一般格式是:

$

例如:valuen=$

舉個例子:

#!/bin/sh

name[0]="zara"

name[1]="qadir"

name[2]="mahnaz"

name[3]="ayan"

name[4]="daisy"

echo "first index: $"

echo "second index: $"

執行指令碼,輸出:

$./test.sh

first index: zara

second index: qadir

使用@ 或 * 可以獲取陣列中的所有元素,例如:

# 取得陣列元素的個數

length=$

# 或者

length=$

# 取得陣列單個元素的長度

lengthn=$

Linux shell入門基礎(五)

五 bash運算及啟動指令碼 01.使用bash的命令歷史 history set 顯示所有的變數 grep his histfile root bash history histfilesize 1000 歷史檔案個數 histsize 1000 檔案的歷史大小 vi root bash hist...

Linux shell指令碼程式設計基礎之練習篇

shell指令碼程式設計基礎之練習篇。bin bash if ne 1 then echo 請輸入乙個引數 exit else echo 引數正確 newfile 1fi echo grep if grep dev null then cat bin bash author inert your n...

Linux shell 基礎之Vim編輯器

vim編輯器在記憶體緩衝區中處理資料,如在啟動vim時未指定檔名,或者這個檔案不存在,vim會開闢一段新的緩衝區域來編輯。如果你在命令列下指定了乙個已有檔案的名字,vim會將檔案的整個內容都讀到一塊緩衝區域來準備編輯 當檔案不存在時,會新建乙個檔案並把緩衝區的內容儲存到新建立的檔案中 vim myt...