最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux?shell編程指南之字符串與數(shù)組

 更新時間:2023年06月27日 09:09:42   作者:逆風飛翔的小叔  
這篇文章主要給大家介紹了關于linux?shell編程指南之字符串與數(shù)組的相關資料,字符串與數(shù)組是Shell編程中常用的數(shù)據(jù)類型,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

前言

對字符串的操作在眾多的編程語言中可以說是最基礎的了,字符串(String)就是一系列字符的組合。字符串是 Shell 編程中最常用的數(shù)據(jù)類型之一(除了數(shù)字和字符串,也沒有其他類型了)。

一、shell 中字符串的幾種格式

在shell中,字符串主要有下面幾類寫法:

  1. 單引號方式
  2. 雙引號方式, 推薦
  3. 不用引號方式

三種寫法的區(qū)別

1、使用單引號 '' 的字符串:

任何字符都會原樣輸出,在其中使用變量是無效的。

2、由雙引號" "包圍的字符串:

1)其中包含了變量,那么該變量會被解析得到值,而不是原樣輸出;

2)字符串中還可以出現(xiàn)雙引號的子字符串,但是需要轉義;

3、不被引號包圍的字符串

1)不被引號包圍的字符串中出現(xiàn)變量時也會被解析,這一點和雙引號" "包圍的字符串一樣;

2)字符串中不能出現(xiàn)空格,否則空格后邊的字符串會作為其他變量或者命令解析;

二、字符串常用操作

1、獲取字符串長度

${#字符串變量名}

2、字符串拼接

幾種常用的拼接方式:

  1. 無符號拼接
  2. 雙引號拼接
  3. 混合拼接

無符號拼接

雙引號拼接

混合拼接

3、字符串截取

字符串截取操作在眾多的編程語言中可以說是非常常見的一種操作了,尤其是在python語言中,使用非常高頻,而在shell中,也提供了畢竟豐富的字符串截取的操作;

格式說明
${變量名:start:length}從 string 字符串的左邊第 start 個字符開始, 向右截取 length 個字符。
${變量名:start}從 string 字符串的左邊第 start 個字符開始截取,直到最后。
${變量名:0-start:length}從 string 字符串的右邊第 start 個字符開始, 向右截取 length 個字符。
${變量名:0-start}從 string 字符串的右邊第 start 個字符開始截取,直到最后。
${變量名#*chars}從 string 字符串第一次出現(xiàn) *chars 的位置開始, 截取 *chars 右邊的所有字符。
${變量名##*chars}從 string 字符串最后一次出現(xiàn) *chars 的位置開始, 截取 *chars 右邊的所有字符。
${變量名%chars*}從 string 字符串最后第一次出現(xiàn) chars* 的位置開始, 截取 chars* 左邊的所有字符。
${變量名%%chars*}從 string 字符串第一次出現(xiàn) chars* 的位置開始, 截取 chars* 左邊的所有字符

下面隨機演示幾個截取的操作命令

三、數(shù)組

Shell 支持數(shù)組(Array), 數(shù)組是若干數(shù)據(jù)的集合,其中的每一份數(shù)據(jù)都稱為數(shù)組的元素。

注意Bash Shell 只支持一維數(shù)組,不支持多維數(shù)組

1、數(shù)組語法

在 Shell 中,用括號( )來表示數(shù)組,數(shù)組元素之間用空格來分隔. 語法為

array_name=(item1  item2 ...)          # 方式1
array_name=([索引下標1]=item1  [索引下標2]=item2  ...)          # 方式2

注意,賦值號 = 兩邊不能有空格

2、數(shù)組定義

使用小括號定義一組數(shù)字

num1=(1 2 3 4 5)

數(shù)組中可以存在不同類型的元素

num1=(1 2 3 4 “hello”)

 Shell數(shù)組元素定義后不是固定的, 定義后還可以賦值

arr[6]=100

也可以給指定元素賦值初始化

arr2=([0]=1 [2]=100 [4]=aa)

3、數(shù)組中值的獲取

1.通過下標獲取元素值,index從0開始

${arr[index]}

2、獲取值同時復制給其他變量

item=${arr[index]}

3、使用 @* 可獲取數(shù)組中的所有元素

${arr[@]}
${arr[*]}

4.獲取數(shù)組的長度或個數(shù)

${#arr[@]}
${#arr[*]}

5.獲取數(shù)組指定元素的字符長度

${#arr[索引]}

4、數(shù)組的拼接

所謂 Shell 的數(shù)組拼接(數(shù)組合并),就是將兩個數(shù)組連接成一個數(shù)組

語法

使用 @* 獲取數(shù)組所有元素之后進行拼接:

array_new=(${array1[@]} ${array2[@]} ...)
array_new=(${array1[*]} ${array2[*]} ...)

案例展示

5、數(shù)組的刪除

刪除數(shù)組指定元素數(shù)據(jù)

unset array_name[index]

刪除整個數(shù)組

unset array_name

案例展示:刪除num1 中的第一個元素

案例展示:刪除num1這個數(shù)組

總結

到此這篇關于linux shell編程指南之字符串與數(shù)組的文章就介紹到這了,更多相關shell字符串與數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

莲花县| 满洲里市| 庄河市| 乐安县| 静宁县| 平乐县| 福贡县| 岳西县| 历史| 安徽省| 潼关县| 防城港市| 江津市| 马边| 蒙阴县| 万盛区| 镇安县| 永昌县| 江西省| 萨嘎县| 辽源市| 神木县| 社旗县| 庄浪县| 大安市| 梧州市| 武强县| 廉江市| 武威市| 霍城县| 故城县| 怀远县| 丰城市| 五家渠市| 台湾省| 冷水江市| 故城县| 潞西市| 康乐县| 河津市| 永安市|