成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

系統(tǒng) Linux
創(chuàng)建簡單而有效的Linux Shell腳本來處理日常工作非常容易。此外,對這一主題的了解將使您成為Linux的高級用戶。請和我們一起對Unix Shell腳本進行詳細介紹。

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

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

10. 使用AND運算符

AND運算符允許我們的程序一次檢查是否滿足多個條件。用AND運算符分隔的所有部分都必須為true。否則,包含AND的語句將返回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”運算符

OR運算符是另一個至關重要的結構,它使我們能夠在腳本中實現(xiàn)復雜而強大的編程邏輯。與AND相反,由OR運算符組成的語句在其任何一個操作數(shù)為true時均返回true。僅當由OR分隔的每個操作數(shù)為false時,它才返回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 

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

12. 使用Elif

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

  1. #!/bin/bash 
  2. echo -n "輸入一個數(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 

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

13. 多分支選擇結構

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

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

14. 命令行參數(shù)

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

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

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

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

因此,$1用于訪問第一個參數(shù),$2用于訪問第二個參數(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并按如下所示進行調(diào)用。

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

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

16. 連接字符串

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

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

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

17. 切片字符串

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

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

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

18. 使用cut提取子字符串

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

  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. 兩個值相加

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

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

如您所見,在bash中添加數(shù)字相當簡單。

 

責任編輯:趙寧寧 來源: Linux公社
相關推薦

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

2022-09-13 23:43:00

Python機器學習腳本

2021-05-06 15:18:09

Shell腳本Linux

2017-07-25 11:22:06

2017-08-11 17:20:07

LinuxShell

2010-03-23 17:06:01

2015-06-24 10:13:38

LinuxLinux終端彩蛋

2014-08-13 14:48:01

LinuxShell腳本

2022-08-30 08:52:04

shell腳本Linux

2023-05-20 17:45:25

LinuxShell

2019-11-07 14:00:36

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

2017-08-17 16:37:59

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

2021-02-15 17:29:46

LinuxShell腳本

2019-08-12 07:45:44

Linux腳本shell

2020-04-10 08:50:37

Shell腳本循環(huán)

2020-05-19 14:35:42

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

51CTO技術棧公眾號

主站蜘蛛池模板: 区一区二在线观看 | 亚洲日日 | www.亚洲成人网 | 91精品国产91久久久久久吃药 | 精品国产乱码久久久久久丨区2区 | 一区二区在线观看免费视频 | 国产精品久久久久久高潮 | 97人人草 | 亚洲精品视频在线看 | 亚洲欧美一区二区三区国产精品 | 中文字幕亚洲区一区二 | 国产粉嫩尤物极品99综合精品 | 日韩高清中文字幕 | 久久99精品久久久 | 北条麻妃一区二区三区在线视频 | 国产高清免费在线 | 久久精品免费观看 | 精品日韩| 91中文字幕在线 | av一级久久 | 精品国产一区二区三区性色av | 日日夜夜精品视频 | 精品久久久精品 | 久久精品99久久 | 久久久久久毛片免费观看 | 欧美日本在线观看 | 一区二区在线 | 国产乱码精品一区二三赶尸艳谈 | 天天综合久久 | 日本精品视频在线观看 | 欧美日韩在线观看一区 | 精品久久久久久亚洲综合网站 | 日韩高清一区 | 欧美性久久久 | 福利视频一二区 | 中文字幕亚洲视频 | 免费精品久久久久久中文字幕 | 人人看人人爽 | 中文字幕在线免费观看 | 精品欧美一区二区精品久久久 | 99精品久久 |