shell腳本基礎

shell腳本基礎

基本介紹

Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的。但是它比Windows下的批處理更強大,比用其他編程程序編輯的程序效率更高。換一種說法也就是,shell script是利用shell的功能所寫的一個程序,這個程序是使用純文本文件,將一些shell的語法與指令寫在里面,然后用正規表示法,管道命令以及數據流重導向等功能,以達到我們所想要的處理目的。

基礎功能

  • 利用shell命令快速開發常規任務;

  • 綜合應用grep、find、sed和awk等常用命令;

  • 憑借短短幾個命令行從Web挖掘數據;

  • 利用歸檔工具運行并自動化各種任務,諸如自動備份和存儲;

  • 理解文件系統、文件類型以及文件管理;

  • 用shell創建以及維護文件或目錄歸檔、壓縮格式和加密技術;

  • 通過srlell腳本設置以太網和無線LAN;

  • 使用登錄技術監控網絡上的各種動態;

腳本格式要求

  • 首行shebang機制(#!)

  • #!/bin/bash

  • #!/usr/bin/python

  • #!/usr/bin/perl

vi腳本格式示例

#!/bin/bash

#name:

#Author:

#Version: 1.0

#Date:2017-07-01 16::52:53

#Description:

#QQ:

#email:

shell腳本基礎

  • 腳本中如果有語法錯誤可以用來:

        bash -n /path/to/some_script

  • 調試執行:

        bash -x /path/to/some_script

第一行的\#/bin/bash是聲明這個腳本使用的shell格式,因為我們使用的是bash,所以必須要以“#!/bin/bash”來告訴別人這個腳本里的語法使用的是bash語法,這樣它在執行的時候,就能加載bash相關配置文件,使我們的命令能夠更好的執行下去。(如果不加,有可能腳本無法執行,無法判斷腳本是使用的什么shell。當然如果默認選擇bash格式,可以不寫,但最好還是腳本第一行寫上shebang機制,還有就是創建文本的時候,后綴加上.sh為結尾
上面示例中,除了第一行,其他的都是批示,其他都是注明了這個腳本的一些基本信息,一般加上,可以不加,加上是為了以后方便的知道這個腳本是用來做什么的,有助于以后的改寫和調試。

簡單范例

  • 在做任何事情都是從簡單到復雜,學程序那我們就先顯示“hello world”開始好了。

shell腳本基礎

1. echo就是打印命令,就相當于我用echo,把“hello world”打印出來,然后使用這個腳本就可以直接顯示在屏幕上。
  • 現在我們在寫一個數值的運算,簡單的加減乘除吧。

shell腳本基礎

做數值運算:

1. 我們首先要做判斷,如果用戶輸出的是字母或者字符呢?所以我們要判斷他是不是數字。

2. 既然是數值運算肯定是兩個參數進行運算,所以還要判斷是不是兩個參數進行運算。

3. 如果不是,那么提示用戶“只能輸入數字進行運算”并退出。

4. 這只是一個簡單的加減乘除,相當于版本1,如果你后面有知識,可以把小數點加進去,或者進行方程式之類的,更加完善它,就可以當成一個日常使用的數字運算的腳本了。
(ps:前面判斷需要用到(短路與)或者(短路或)就是&&與||)

執行方式

不同的腳本執行會有不同的結果。腳本的執行方式有很多種,當然肯定需要用chmod +x 給腳本加上執行權限。
  • . 腳本名.sh

  • source 腳本名.sh

  • sh 腳本名.sh

  • bash 腳本名.sh

    前兩個執行時在父進程中執行,后兩個會單獨開個子進程執行。

shell腳本基礎

腳本可以說很簡單也可以很復雜,看你自己的需求,腳本就是把多個命令集合在一起,做成一個你所需求的腳本命令,他里面支持變量,支持函數,運算,test測試,正則等特別多的方法,集合起來,實現一個強大的命令,從而達到我們的目的。

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

(0)
Az2h1丶Az2h1丶
上一篇 2017-07-01
下一篇 2017-07-01

相關推薦

  • 第二天作業

    1、echo 查閃爍,下劃,顏色    echo -e "\033[31;5;1m*******\033[0m\n \033[32;5;1m*****\033[0m\n  \033[33;5;1m***\033[0m\n   \033[34;5;1m*\033[0m" 2、scr…

    Linux干貨 2016-07-26
  • Linux-文件基本權限及特殊權限詳解

    Linux文件基本權限及特殊權限詳解 背景 Linux文件基本權限和特殊權限對于初學者很少煩惱,各種無法理解,所以在學到這一節時,將自己學到的以及自己的理解寫出來以檢查自己對這個部分的掌握情況。 什么是權限 在Linux里一切皆文件,所謂的權限就是用戶對文件(目錄也是以個文件)的操作范圍,對文件的操作包括讀、寫和執行,用戶對文件有不同的權限就能做相應的操作。…

    Linux干貨 2017-07-22
  • 讓自定義腳本成為服務腳本

    1.腳本注釋格式:此格式能讓chkconfig命令識別 #!/bin/bash#chkconfig:runlevel [S]##  [K]##    定義默認runlevel) (S開頭,定義啟動優先級) (K開頭,定義關閉優先級) #description:腳本說明:太長的話需要\換行 2.case語句實現start,stop…

    Linux干貨 2017-05-15
  • 網絡服務之Nginx

      在之前一篇博客中我們講述了httpd網絡服務器,那么httpd是個非常穩定安全的一個服務器,這次我們介紹一個新的網絡服務器—-nginx。   Nginx 是俄羅斯人編寫的十分輕量級的 HTTP 服務器,Nginx,它的發音為“engine X”,是一個高性能的HTTP和反向代理服務器(我們主要圍繞這兩…

    2017-06-07
  • ——-史上最全的Vim命令 ——-vim命令 /正則表達式 /搜索 /定位 /分屏

    一,vim vim編輯器是vi的進階版,是一個靜態文本編輯器。它的強大不遜色于任何最新的文本編輯器,
    對Unix及Linux系統的任何版本,vi編輯器是完全相同的。Vi也是Linux中最基本的文本…

    2017-11-26
  • 馬哥教育網絡班21期-第四周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 cp -a /etc/skel/ /home/tuser1 chmod -R 700 /home/tuser1/  2、編輯/etc/group文件,添加組hadoop。 echo "hadoop:x:2…

    Linux干貨 2016-08-05
欧美性久久久久