自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡(jiǎn)單而有效的Linux Shell腳本示例(續(xù)一)

系統(tǒng) Linux
創(chuàng)建簡(jiǎn)單而有效的Linux Shell腳本來(lái)處理日常工作非常容易。此外,對(duì)這一主題的了解將使您成為L(zhǎng)inux的高級(jí)用戶。請(qǐng)和我們一起對(duì)Unix Shell腳本進(jìn)行詳細(xì)介紹。

Linux提供了具有強(qiáng)大功能的各種功能強(qiáng)大的Shell,包括Bash,Zsh,Tcsh和Ksh。這些Shell程序最令人驚奇的功能之一就是它們的可編程性。創(chuàng)建簡(jiǎn)單而有效的Linux Shell腳本來(lái)處理日常工作非常容易。此外,對(duì)這一主題的了解將使您成為L(zhǎng)inux的高級(jí)用戶。請(qǐng)和我們一起對(duì)Unix Shell腳本進(jìn)行詳細(xì)介紹。簡(jiǎn)單而有效的Linux Shell腳本示例(1-9)見(jiàn) :

https://os.51cto.com/art/202004/614978.htm

10. 使用AND運(yùn)算符

AND運(yùn)算符允許我們的程序一次檢查是否滿足多個(gè)條件。用AND運(yùn)算符分隔的所有部分都必須為true。否則,包含AND的語(yǔ)句將返回false。查看以下bash腳本示例,以更好地了解AND的工作原理。

  1. #!/bin/bash 
  2. echo -n "輸入數(shù)字:" 
  3. read num 
  4. if [[ ( $num -lt 10 ) && ( $num%2 -eq 0 ) ]]; then 
  5. echo "您剛才輸入的是偶數(shù):$num" 
  6. else 
  7. echo "您剛才輸入的是奇數(shù):$num" 
  8. fi 

11. 使用“OR”運(yùn)算符

OR運(yùn)算符是另一個(gè)至關(guān)重要的結(jié)構(gòu),它使我們能夠在腳本中實(shí)現(xiàn)復(fù)雜而強(qiáng)大的編程邏輯。與AND相反,由OR運(yùn)算符組成的語(yǔ)句在其任何一個(gè)操作數(shù)為true時(shí)均返回true。僅當(dāng)由OR分隔的每個(gè)操作數(shù)為false時(shí),它才返回false。

  1. #!/bin/bash 
  2. echo -n "輸入任何數(shù)字:" 
  3. read n 
  4. if [[ ( $n -eq 25 || $n -eq 50 ) ]] 
  5. then 
  6. echo "你贏了" 
  7. else 
  8. echo "你輸了" 
  9. fi 

這個(gè)簡(jiǎn)單的示例演示了OR運(yùn)算符如何在Linux Shell腳本中工作。僅當(dāng)用戶輸入數(shù)字25或50時(shí),它才宣布用戶為贏家。符號(hào)代表“or”運(yùn)算符。

12. 使用Elif

elif語(yǔ)句代表else if,并為實(shí)現(xiàn)鏈邏輯提供了一種方便的方法。通過(guò)評(píng)估以下示例,了解elif的工作原理。

  1. #!/bin/bash 
  2. echo -n "輸入一個(gè)數(shù)字: " 
  3. read num 
  4. if [[ $num -gt 20 ]] 
  5. then 
  6. echo "數(shù)字大于20." 
  7. elif [[ $num -eq 20 ]] 
  8. then 
  9. echo "數(shù)字等于20." 
  10. else 
  11. echo "數(shù)字小于20." 
  12. fi 

上面的程序是不言自明的,因此我們不再逐行進(jìn)行剖析。你更改腳本的某些部分(例如變量名和值)以檢查它們?nèi)绾我黄鸸ぷ鳌?/p>

13. 多分支選擇結(jié)構(gòu)

多分支選擇結(jié)構(gòu)是Linux bash腳本提供的另一個(gè)大特性。它可以在需要嵌套條件的地方使用,但是您不希望使用復(fù)雜的if-else-elif鏈。那請(qǐng)看下一個(gè)例子。

條件寫(xiě)在case和esac關(guān)鍵字之間。 *)用于匹配除100和200以外的所有輸入。

14. 命令行參數(shù)

在許多情況下,直接從命令shell獲取參數(shù)可能是有益的。下面的示例演示如何在bash中執(zhí)行此操作。

  1. #!/bin/bash 
  2. echo "參數(shù)總數(shù) : $#" 
  3. echo "第1個(gè)參數(shù) = $1" 
  4. echo "第2個(gè)參數(shù) = $2" 

echo "第2個(gè)參數(shù) = $2"在其名稱之后,使用兩個(gè)附加參數(shù)運(yùn)行此腳本。我將其命名為linuxidc.com.sh,并且調(diào)用過(guò)程概述如下。

  1. [linuxidc@linux:~/www.linuxidc.com]$ ./linuxidc.com.sh linuxidc.com linuxidc ubuntu 

因此,$1用于訪問(wèn)第一個(gè)參數(shù),$2用于訪問(wèn)第二個(gè)參數(shù),依此類推。$#用于獲取參數(shù)的總數(shù)。

15. 獲取帶有名稱的參數(shù)

下面的示例演示如何獲取帶有名稱的命令行參數(shù)。

  1. #!/bin/bash 
  2. for arg in "$@" 
  3. do 
  4. index=$(echo $arg | cut -f1 -d=) 
  5. val=$(echo $arg | cut -f2 -d=) 
  6. case $index in 
  7. A) a=$val;; 
  8. B) b=$val;; 
  9. *) 
  10. esac 
  11. done 
  12. ((result=a+b)) 
  13. echo "A+B=$result" 

echo "A+B=$result"將此腳本命名為linuxidc.com.sh并按如下所示進(jìn)行調(diào)用。

  1. [linuxidc@linux:~/www.linuxidc.com]$ ./linuxidc.com.sh A=200 B=70 

它應(yīng)該返回A+B=270。此處的參數(shù)存儲(chǔ)在' $@ '內(nèi),腳本使用Linux cut命令獲取它們。

16. 連接字符串

字符串處理對(duì)于各種現(xiàn)代bash腳本至關(guān)重要。值得慶幸的是,它在bash中使用起來(lái)更加舒適,并且允許使用一種更加精確,簡(jiǎn)潔的方式來(lái)實(shí)現(xiàn)此目的。請(qǐng)參閱以下示例,快速瀏覽bash字符串連接。

  1. #!/bin/bash 
  2. string1="Linux" 
  3. string2="公社" 
  4. string3="(www.linuxidc.com)" 
  5. string=$string1$string2$string3 
  6. echo "$string 為L(zhǎng)inux愛(ài)好者提供海量技術(shù)教程。" 

echo "$string 為L(zhǎng)inux愛(ài)好者提供海量技術(shù)教程。"以下程序輸出字符串“Linux公社(www.linuxidc.com) 為L(zhǎng)inux愛(ài)好者提供海量技術(shù)教程。”如下圖:

17. 切片字符串

與許多編程語(yǔ)言相反,bash不提供用于切片字符串部分的任何內(nèi)置函數(shù)。下面的示例演示如何使用參數(shù)擴(kuò)展來(lái)完成此操作。

  1. #!/bin/bash 
  2. Str="Learn Bash Commands from linuxidc.com" 
  3. subStr=${Str:0:20} 
  4. echo $subStr 

這個(gè)腳本應(yīng)該輸出“Learn Bash Commands”。參數(shù)擴(kuò)展采用${VAR_NAME:S:L}的形式。在此,S表示起始位置,L表示長(zhǎng)度。

18. 使用cut提取子字符串

可以在腳本內(nèi)部使用Linux cut命令來(lái)“剪切”一部分字符串,也就是子字符串。下一個(gè)示例顯示了如何完成此操作。

  1. #!/bin/bash 
  2. Str="Learn Bash Commands from linuxidc.com" 
  3. #subStr=${Str:0:25} 
  4. subStr=$(echo $Str| cut -d ' ' -f 1-4) 
  5. echo $subStr 

19. 兩個(gè)值相加

在Linux Shell腳本中執(zhí)行算術(shù)運(yùn)算非常容易。下面的示例演示如何從用戶接收兩個(gè)數(shù)字作為輸入并將其相加。

  1. #!/bin/bash 
  2. echo -n "輸入第一個(gè)數(shù)字:" 
  3. read a 
  4. echo -n "輸入第2個(gè)數(shù)字:" 
  5. read b 
  6. (( sum=a+b )) 
  7. echo "相加的結(jié)果=$sum" 

如您所見(jiàn),在bash中添加數(shù)字相當(dāng)簡(jiǎn)單。

 

責(zé)任編輯:趙寧寧 來(lái)源: Linux公社
相關(guān)推薦

2020-04-22 11:11:22

LinuxShell腳本

2023-10-04 18:23:02

插入排序算法

2024-01-30 09:00:28

框架BMRL模型

2024-11-27 09:19:25

2010-03-05 10:24:33

2021-05-06 15:18:09

Shell腳本Linux

2022-09-13 23:43:00

Python機(jī)器學(xué)習(xí)腳本

2017-08-11 17:20:07

LinuxShell

2010-03-23 17:06:01

2017-07-25 11:22:06

2023-05-20 17:45:25

LinuxShell

2022-08-30 08:52:04

shell腳本Linux

2014-08-13 14:48:01

LinuxShell腳本

2015-06-24 10:13:38

LinuxLinux終端彩蛋

2021-02-15 17:29:46

LinuxShell腳本

2019-08-12 07:45:44

Linux腳本shell

2019-11-07 14:00:36

MySQL數(shù)據(jù)庫(kù)SQL

2017-08-17 16:37:59

MySQL數(shù)據(jù)遷移

2020-05-19 14:35:42

Shell腳本循環(huán)

2020-04-10 08:50:37

Shell腳本循環(huán)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)