中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

西地那非片有依賴性嗎湘潭seo快速排名

西地那非片有依賴性嗎,湘潭seo快速排名,用node做的網(wǎng)站,渭南做網(wǎng)站哪家公司一、 Linux shell 腳本編程中的數(shù)組概述 數(shù)組是一種常見的數(shù)據(jù)結(jié)構(gòu)。跟大多數(shù)編程語(yǔ)言一樣,大多數(shù)Linux shell腳本支持?jǐn)?shù)組,但對(duì)數(shù)組的支持程度各不相同,比如數(shù)組的維度,是支持一維數(shù)組還是多維數(shù)組?再如,…

一、?Linux shell 腳本編程中的數(shù)組概述

數(shù)組是一種常見的數(shù)據(jù)結(jié)構(gòu)。跟大多數(shù)編程語(yǔ)言一樣,大多數(shù)Linux shell腳本支持?jǐn)?shù)組,但對(duì)數(shù)組的支持程度各不相同,比如數(shù)組的維度,是支持一維數(shù)組還是多維數(shù)組?再如,數(shù)組元素的下標(biāo)是從 0 開始還是從1開始?則因shell而異,下面我們以zsh、sh、bash為例來(lái)講解。

二、數(shù)組的定義

在Linux shell腳本編程中,定義數(shù)組有兩種方法。

(一)數(shù)組名=(數(shù)值1 數(shù)值2 …… 數(shù)值n)

數(shù)值之間用空格間隔。

實(shí)例:

1.在zsh中

(1)在命令行定義

# csdn @ edu in ~ [21:37:32]?
$ a=(1 'a' b)

# csdn @ edu in ~ [21:37:42]?
$ echo $a
1 a b

我們首先用命令 a=(1 'a' b)?定義了數(shù)組a

然后用命令? echo $a?顯示數(shù)組a 的元素。

(2)在腳本文件中定義

# csdn @ edu in ~ [22:20:47] C:1
$ echo 'a=(1 'a' b)' > a.sh?

# csdn @ edu in ~ [22:21:31]?
$ echo 'echo $a' >> a.sh

# csdn @ edu in ~ [22:21:48]?
$ cat a.sh
a=(1 a b)
echo $a

# csdn @ edu in ~ [22:21:51]?
$ source ./a.sh
1 a b

# csdn @ edu in ~ [22:22:01]?
$?

在上面的實(shí)例中,我們首先使用使用echo + 輸出重定向方式將數(shù)組定義語(yǔ)句 echo 'a=(1 'a' b)' > a.sh??寫入腳本文件 a.sh

然后 將 顯示數(shù)組a元素的命令 echo 'echo $a' >> a.sh?寫入腳本文件 a.sh

接下來(lái)我們使用cat命令查看腳本文件 a.sh的內(nèi)容:

a=(1 a b)
echo $a

最后,我們使用命令 source ./a.sh? 執(zhí)行腳本文件a.sh。

注意,在上面創(chuàng)建的腳本文件 a.sh中,我們沒(méi)有在第一行寫入shebang或hashbang語(yǔ)句來(lái)指定腳本解釋器。

2.在sh中

?(1)在命令行定義

[csdn ~]$ exec sh
sh-4.2$ a=(1 'a' b)
sh-4.2$ echo $a
1
sh-4.2$?

(2)在腳本文件中定義

sh-4.2$ echo 'a=(1 'a' b)' > a.sh
sh-4.2$ echo 'echo $a' >> a.sh
sh-4.2$ cat a.sh
a=(1 a b)
echo $a
sh-4.2$ . a.sh
sh: .: a.sh: file not found
sh-4.2$ source ./a.sh
1
sh-4.2$?

3.在bash中

?(1)在命令行定義

# csdn @ edu in ~ [23:27:45] C:127
$ exec bash
[csdn ~]$ echo $0
bash
[csdn ~]$ a=(1 'a' b)
[csdn ~]$ echo $a
1
[csdn ~]$?

在bash中,數(shù)組同樣創(chuàng)建起來(lái)了,與上面不同的是,命令? echo $a 只顯示了數(shù)組中的第1個(gè)元素,而不是所有元素。?

?(2)在腳本文件中定義

[csdn ~]$ echo 'a=(1 'a' b)' > a.sh
[csdn ~]$ echo 'echo $a' >> a.sh
[csdn ~]$ cat a.sh
a=(1 a b)
echo $a
[csdn ~]$ . a.sh
1
[csdn ~]$?

與上面的在命令行定義數(shù)組一樣,bash中的命令? echo $a 只顯示了數(shù)組中的第1個(gè)元素,而不是所有元素。?

(二)數(shù)組名[下標(biāo)]=數(shù)值

1.在zsh中

(1)在命令行定義

csdn @edu in ~ b[0]=0
zsh: b: assignment to invalid subscript range
csdn @edu in ~ b[1]=1?
csdn @edu in ~ b[2]=a?
csdn @edu in ~ echo $b
1 a
csdn @edu in ~?

在上面的例子中,我們首先嘗試直接在命令行定義數(shù)組元素:b[0]=0,但是zsh提示下標(biāo)超出范圍。

接下來(lái),我們的命令? b[1]=1 和? b[2]=a 順利完成,最后我們用命令 echo $b?顯示 數(shù)組b的2個(gè)元素值:1 a。

可見,在zsh中,數(shù)組元素的下標(biāo)是從1開始的。

(2)在腳本文件中定義

$ echo 'b[0]=0' > b.sh

# csdn @ edu in ~ [22:07:01]?
$ echo 'b[1]=1' >> b.sh

# csdn @ edu in ~ [22:07:24]?
$ echo 'b[2]=a' >> b.sh?

# csdn @ edu in ~ [22:07:39]?
$ echo 'echo $b' >> b.sh?

# csdn @ edu in ~ [22:08:05]?
$ cat b.sh ??
b[0]=0
b[1]=1
b[2]=a
echo $b

# csdn @ edu in ~ [22:08:17]?
$ source ./b.sh
./b.sh:1: b: assignment to invalid subscript range

# csdn @ edu in ~ [22:08:27] C:126
$ bash ./b.sh ?
0

# csdn @ edu in ~ [22:08:53]?
$?

接著我們使用echo + 輸出重定向方式將數(shù)組定義語(yǔ)句

b[0]=0
b[1]=1
b[2]=a

?寫入腳本文件b.sh

然后 我們將 顯示數(shù)組元素 的命令 echo 'echo $b' >> b.sh?寫入腳本文件b.sh

隨后我們使用命令 cat b.sh ? ?查看腳本文件b.sh 的內(nèi)容:

b[0]=0
b[1]=1
b[2]=a
echo $b

接下來(lái)我們使用命令 source ./b.sh?來(lái)執(zhí)行腳本文件b.sh,但是命令在zsh下出錯(cuò)了:

./b.sh:1: b: assignment to invalid subscript range

這再次說(shuō)明,在zsh中,數(shù)組元素的下標(biāo)是從1開始的。

最后我們使用命令?bash ./b.sh? 來(lái)執(zhí)行腳本,命令順利完成。

可見,在bash 中,數(shù)組元素的下標(biāo)是從0開始的。

2.在sh中

(1)在命令行中定義?

csdn @edu in ~ exec sh
sh-4.2$ b[0]=0
sh-4.2$ b[1]=1
sh-4.2$ b[2]=a
sh-4.2$ echo $b
0
sh-4.2$?

數(shù)組成功創(chuàng)建,但只看到了數(shù)組中的第1個(gè)元素值。

(2)在腳本文件中定義

sh-4.2$ echo 'b[0]=0' > b.sh
sh-4.2$ echo 'b[1]=1' >> b.sh
sh-4.2$ echo 'b[2]=a' >> b.sh?
sh-4.2$ echo 'echo $b' >> b.sh
sh-4.2$ cat b.sh
b[0]=0
b[1]=1
echo $b
sh-4.2$ source ./b.sh
0
sh-4.2$?

我們先使用echo + 輸出重定向方式將數(shù)組定義語(yǔ)句

b[0]=0
b[1]=1
b[2]=a

?寫入腳本文件b.sh

然后 我們將 顯示數(shù)組元素 的命令 echo 'echo $b' >> b.sh?寫入腳本文件b.sh

隨后我們使用命令 cat b.sh ? ?查看腳本文件b.sh 的內(nèi)容:

b[0]=0
b[1]=1
b[2]=a
echo $b

最后我們使用???source ./b. sh?命令來(lái)執(zhí)行腳本文件b.sh,數(shù)組成功創(chuàng)建,但只看到了數(shù)組中的第1個(gè)元素值。

3.在bash中

(1)在命令行中定義

# csdn @ edu in ~ [23:53:42]?
$ exec bash
[csdn ~]$ echo $0
bash
[csdn ~]$ b[0]=0
[csdn ~]$ b[1]=1
[csdn ~]$ b[2]=a
[csdn ~]$ echo $b
0
[csdn ~]$?

命令全部順利執(zhí)行,可見在bash中,數(shù)組元素的下標(biāo)是從0開始的,但echo $b只顯示了數(shù)組第1個(gè)元素值。

(2)在腳本文件中定義

[csdn ~]$ echo b[0]=0 > b.sh
[csdn ~]$ echo b[1]=1 >> b.sh
[csdn ~]$ echo b[2]=a >> b.sh
[csdn ~]$ echo 'echo $b' >> b.sh
[csdn ~]$ cat b.sh
b[0]=0
b[1]=1
b[2]=a
echo $b
[csdn ~]$ . b.sh
0
[csdn ~]$?

在腳本文件中執(zhí)行跟?命令行執(zhí)行結(jié)果是一樣的。

(三)小結(jié)

在zsh中,數(shù)組元素的下標(biāo)是從 1 開始的,使用“$數(shù)組名”?可以獲得數(shù)組所有元素值。

在sh和bash中,數(shù)組元素的下標(biāo)是從 0 開始的,使用“$數(shù)組名”?只能獲得數(shù)組第1個(gè)元素值。

三、獲取所有的數(shù)組元素

通過(guò)上面的實(shí)例,我們發(fā)現(xiàn)在sh和bash中,使用“$數(shù)組名”?只能獲得數(shù)組第1個(gè)元素值,那么如何獲取所有的數(shù)組元素呢?我們可以使用*?或 @?作為下標(biāo)來(lái)獲取,具體格式即:

${數(shù)組名[@]}?

${數(shù)組名[*]}

(一)zsh中

# csdn @ edu in ~ [12:24:50]?
$ echo $0
/bin/zsh

# csdn @ edu in ~ [12:25:24]?
$ a=(1 2 'a')

# csdn @ edu in ~ [12:25:42]?
$ echo $a
1 2 a

# csdn @ edu in ~ [12:27:06]?
$ echo ${a[@]}
1 2 a

# csdn @ edu in ~ [12:27:39]?
$ echo ${a[*]}?
1 2 a

# csdn @ edu in ~ [12:32:40]?
$?

(二)在sh中

# csdn @ edu in ~ [12:32:40]?
$ exec sh
sh-4.2$ a=(1 2 'a')
sh-4.2$ echo $a
1
sh-4.2$ echo ${a[@]}
1 2 a
sh-4.2$ echo ${a[*]}
1 2 a
sh-4.2$?

(三)在bash中

sh-4.2$ exec bash
[csdn ~]$ a=(1 2 'a')
[csdn ~]$ echo $a
1
[csdn ~]$ echo ${a[@]}
1 2 a
[csdn ~]$ echo ${a[*]}
1 2 a
[csdn ~]$?

四、獲取數(shù)組或數(shù)組元素的長(zhǎng)度

在介紹字符串時(shí),我們說(shuō)過(guò)獲取字符串的格式是:${#字符串名},獲取數(shù)組或數(shù)組元素長(zhǎng)度的格式是相似的:

${#數(shù)組名[下標(biāo)]}

${#數(shù)組名[下標(biāo)]}

如果要取數(shù)組的長(zhǎng)度,那么下標(biāo)就用*或 @。如果要取數(shù)組某個(gè)元素的長(zhǎng)度,那么下標(biāo)就用元素的下標(biāo)。

(一)在zsh中

# csdn @ edu in ~ [12:57:21]?
$ echo $0
/bin/zsh

# csdn @ edu in ~ [12:57:24]?
$ b[1]=1?

# csdn @ edu in ~ [12:57:31]?
$ b[2]=22?

# csdn @ edu in ~ [12:57:36]?
$ echo ${b[*]}
1 22

# csdn @ edu in ~ [12:57:49]?
$ echo ${#b[*]}
2

# csdn @ edu in ~ [12:57:55]?
$ echo ${#b[@]}
2

# csdn @ edu in ~ [12:57:59]?
$ echo ${b[0]}?


# csdn @ edu in ~ [12:58:07]?
$ echo ${#b[0]}
0

# csdn @ edu in ~ [12:58:11]?
$ echo ${b[1]}?
1

# csdn @ edu in ~ [12:58:26]?
$ echo ${#b[1]}
1

# csdn @ edu in ~ [12:58:30]?
$ echo ${b[2]}?
22

# csdn @ edu in ~ [12:58:35]?
$ echo ${#b[2]}
2

(二)sh中

# csdn @ edu in ~ [13:07:28]?
$ exec sh
sh-4.2$ b[1]=1
sh-4.2$ b[2]=22
sh-4.2$ echo ${b[*]}
1 22
sh-4.2$ echo ${#b[*]}
2
sh-4.2$ echo ${#b[@]}
2
sh-4.2$ echo ${b[0]}

sh-4.2$ echo ${#b[0]}
0
sh-4.2$ echo ${b[1]}
1
sh-4.2$ echo ${#b[1]}
1
sh-4.2$ echo ${b[2]}
22
sh-4.2$ echo ${#b[2]}
2
sh-4.2$?

(三)bash中

[csdn ~]$ b[1]=1
[csdn ~]$ b[2]=22
[csdn ~]$ echo ${b[@]}
1 22
[csdn ~]$ echo ${#b[@]}
2
[csdn ~]$ echo ${#b[*]}
2
[csdn ~]$ echo ${b[0]}

[csdn ~]$ echo ${#b[0]}
0
[csdn ~]$ echo ${b[1]}
1
[csdn ~]$ echo ${#b[1]}
1
[csdn ~]$ echo ${b[2]}
22
[csdn ~]$ echo ${#b[2]}
2
[csdn ~]$?

在上面的實(shí)例中,由于zsh中數(shù)組元素下標(biāo)是從1開始的,所以我們定義數(shù)組b時(shí),是從下標(biāo)為1?的元素開始的。

然后我們先獲取整個(gè)數(shù)組的元素值和長(zhǎng)度,然后從下標(biāo)0開始獲取數(shù)組每個(gè)元素的值和長(zhǎng)度。

值得注意的是,我們使用命令?echo ${b[0]}?嘗試顯示數(shù)組b中下標(biāo)為0?的元素值?時(shí),系統(tǒng)沒(méi)有提示出錯(cuò);使用命令echo ${#b[0]}嘗試顯示數(shù)組b中下標(biāo)為0?的元素的長(zhǎng)度時(shí),系統(tǒng)反饋為0。

http://www.risenshineclean.com/news/35282.html

相關(guān)文章:

  • 做物理的網(wǎng)站企業(yè)如何進(jìn)行網(wǎng)絡(luò)營(yíng)銷
  • 甘肅省建設(shè)廳質(zhì)量投訴網(wǎng)站武漢百度seo網(wǎng)站優(yōu)化
  • 建網(wǎng)站是什么專業(yè)類別寧德市高中階段招生信息平臺(tái)
  • 網(wǎng)站建設(shè)計(jì)劃表模板下載百度指數(shù)數(shù)據(jù)分析平臺(tái)
  • 豐寧縣有做網(wǎng)站的嗎?站長(zhǎng)申論
  • 設(shè)置wordpress上傳文件大小限制西安網(wǎng)站優(yōu)化培訓(xùn)
  • 公司做網(wǎng)站 要準(zhǔn)備哪些素材電話營(yíng)銷
  • 響應(yīng)式網(wǎng)站寬度如何做網(wǎng)站
  • led外貿(mào)網(wǎng)站制作小程序開發(fā)制作
  • 江西建設(shè)職業(yè)技術(shù)學(xué)院招生信息網(wǎng)站如何統(tǒng)計(jì)網(wǎng)站訪問(wèn)量
  • 網(wǎng)站標(biāo)題優(yōu)化技巧超級(jí)軟文網(wǎng)
  • 做海南旅游網(wǎng)站的初衷友情鏈接seo
  • 企業(yè)網(wǎng)站建設(shè)技術(shù)小程序開發(fā)系統(tǒng)
  • 做黑網(wǎng)站賺錢嗎濱州網(wǎng)站建設(shè)
  • 學(xué)生怎樣做網(wǎng)站安卓?jī)?yōu)化大師
  • 四川今天公布疫情新情況seo模擬點(diǎn)擊軟件
  • 可以發(fā)布廣告的網(wǎng)站鄭州關(guān)鍵詞優(yōu)化顧問(wèn)
  • 福州企業(yè)做網(wǎng)站精準(zhǔn)客源推廣引流
  • php做商城網(wǎng)站上海做網(wǎng)絡(luò)口碑優(yōu)化的公司
  • 自己建私人網(wǎng)站做外貿(mào)不好做濟(jì)南網(wǎng)站建設(shè)制作
  • 隴西學(xué)做網(wǎng)站湖北搜索引擎優(yōu)化
  • 2021個(gè)人網(wǎng)站盈利模式恢復(fù)2345網(wǎng)址導(dǎo)航
  • 做照片相冊(cè)最好的網(wǎng)站培訓(xùn)機(jī)構(gòu)需要什么資質(zhì)
  • 福田網(wǎng)站制作一鍵優(yōu)化軟件
  • 開發(fā)網(wǎng)站需要用到的專業(yè)技術(shù)知識(shí)地推的方法和技巧
  • 網(wǎng)站模版怎么編輯器我想做app推廣代理
  • 生產(chǎn)企業(yè)網(wǎng)站有哪些應(yīng)用商店aso優(yōu)化
  • 網(wǎng)站公安局備案一般多久今日軍事新聞熱點(diǎn)事件
  • 松崗做網(wǎng)站今日頭條新聞最全新消息
  • 做一手房做那個(gè)網(wǎng)站好搜索引擎推廣是什么意思