shell腳本編程基礎(1)

一.位置變量相關知識

    1.位置變量定義:在腳本代碼中調用通過命令行傳遞給腳本的的參數

    2.位置變量種類:   

            $1 $2 … :對應第一、第二…參數 shift [n]換位置

            $@:傳遞給腳本的所有參數,每個參數為獨立字符串

            $#:傳遞給腳本的參數的個數

            $*:傳遞給腳本的所有參數,全部參數合為一個字符串

            $0:命令本身

    注意:$#和$@只有加上“”才會有區別

實例:寫腳本argdesc.sh先說明各個變量的作用,腳本內容如下

1.png

實驗結果如下

2.png

3.$@和$*的區別

    $@:代表所有參數,每個參數作為獨立字符串

    $*:代表所有字符串,把他們作為一個整體

    (1)新建腳本文件1.sh,讓其調用2.sh,內容如下

3.png

(2)新建腳本文件2.sh,分別調用“$@”、“$*”,內容如下

4.png

(3)給予執行權限運行,此時把1.sh的參數作為整體

5.png

4.$#的說明

(1)$#指的是腳本調用多少參數

(2)在上邊使用過的2.sh中修改,內容如下

6.png

(3)執行2.sh,結果如下

7.png

總結:不論里邊是否調用外邊參數,$#表示的是外邊的參數個數總和

二.作業

1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。

腳本內容如下:

1.png

執行結果如下

1.1.png

2、編寫腳本/root/bin/backup.sh,可實現每日將/etc/目錄備份到/root/etcYYYY-mm-dd中

文本內容如下:

2.png

運行結果如下:

2.1.png

3、編寫腳本/root/bin/disk.sh,顯示當前硬盤分區中空間利用率最大的值

腳本內容如下:

3.png

運行結果如下:

3.1.png

4、編寫腳本/root/bin/links.sh,顯示正連接本主機的每個遠程主機的IPv4地址和連接數,并按連接數從大到小排序

腳本內容如下:

4.png

執行結果:

4.1.png

5、寫一個腳本/root/bin/sumid.sh,計算/etc/passwd文件中的第10個用戶和第20用戶的ID之和

腳本內容如下:

5.png

結果如下:

5.1.png

6、寫一個腳本/root/bin/sumspace.sh,傳遞兩個文件路徑作為參數給腳本,計算這兩個文件中所有空白行之和

腳本內容如下:

6.png

結果如下:

6.1.png

7、寫一個腳本/root/bin/sumfile.sh,統計/etc, /var, /usr目錄中共有多少個一級子目錄和文件

腳本內容如下:

7.png

結果如下:

7.1.png

8、寫一個腳本/root/bin/argsnum.sh,接受一個文件路徑作為參數;如果參數個數小于1,則提示用戶“至少應該給一個參數”,并立即退出;如果參數個數不小于1,則顯示第一個參數所指向的文件中的空白行數

腳本內容如下:

8.png

結果如下:

8.1.png

9、寫一個腳本/root/bin/hostping.sh,接受一個主機的IPv4地址做為參數,測試是否可連通。如果能ping通,則提示用戶“該IP地址可訪問”;如果不可ping通,則提示用戶“該IP地址不可訪問”

腳本內容如下:

9.png

結果如下:

9.1.png

10、chmod -rw /tmp/file1,編寫腳本/root/bin/per.sh,判斷當前用戶對/tmp/fiile1文件是否不可讀且不可寫

腳本內容如下:

10.png

結果如下:

10.1.png

11、編寫腳本/root/bin/nologin.sh和login.sh,實現禁止和充許普通用戶登錄系統。

腳本內容如下:

5.png

結果如下:

6.png

12、寫一個腳本/root/bin/hostping.sh,接受一個主機的IPv4地址做為參數,先判斷是否合格IP,否,提示IP格式不合法并退出,是,測試是否可連通。如果能ping通,則提示用戶“該IP地址可訪問”;如果不可ping通,則提示用戶“該IP地址不可訪問”

腳本內容如下:

2.png

結果如下:

2.1.png

13、計算1+2+3+…+100的值

腳本內容如下:

3.png

結果如下:

3.1.png

14、計算從腳本第一參數A開始,到第二個參數B的所有數字的總和,判斷B是否大于A,否提示錯誤并退出,是則計算之

腳本內容如下:

3.png

結果如下:

32.png

原創文章,作者:mengzhiqian,如若轉載,請注明出處:http://www.www58058.com/34786

(0)
mengzhiqianmengzhiqian
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • linux第一天,不正經的感想

    課是正經課,人正不正經就不知道了

    2018-03-26
  • N25 _WSH 第二周

    2、bash 命令執行的狀態結果:        * bash通過狀態返回值來輸出此結果:            * 成功:0            失敗:1-255     &n…

    系統運維 2016-12-12
  • linux基礎知識:文件管理,bash特性

    本文簡要介紹了文件類的管理命令,包括mv、cp、mkdir等等。還介紹了一些萬用字符的用法。

    2017-12-12
  • shell腳本1

    shell腳本基礎 shell腳本: 包含一些命令或聲明,并符合一定格式的文本文件 格式要求:首行shebang機制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl shell腳本的用途有: 自動化常用命令 執行系統管理和故障排除 創建簡單的應用程序 處理文本或文件 創建shell腳本 第一步:使用文本編輯器來創建…

    2017-08-05
  • class-7 積累應用

    1、當天課程內容筆記 2、當天練習 3、預習 4、取本機ip地址 [root@6 ~]#  ip addr|egrep -o '(\b([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\b\.)(\b([1-9]|[1-9][0-9]|1[0-…

    Linux干貨 2016-08-08
  • 2016/08/11:初涉shell腳本編程

    感悟 :    經過對文本處理工具grep,sed等內容的,以及vim文本編輯器的學習,馬不停蹄的又進行了對shell腳本的學習。對shell腳本的認識是可以保存在本地,用的時候只要執行相關腳本,簡短的命令就可以完成操作,可以用來應對日常重復性工作,有效提高系統管理員的效率,避免在重復性工作上花費不必要的時間。 *************…

    Linux干貨 2016-08-16

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-16 16:26

    對位置變量總結的詳細,作業完成的也很認真,但是對各個變量之間的差別,更應用場景需要有一個完整的總結哦,

欧美性久久久久