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 15:19
下一篇 2017-07-01 20:26

相關推薦

  • N25-第八周博客作業

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態; 在線的主機使用綠色顯示;不在線的主使用紅色顯示; #!/bin/bash # ping探測主機在線狀態 for i in `seq 254`;do if ping -c 1 172.16.0.$i &> /dev/null;th…

    Linux干貨 2017-02-23
  • Linux終端類型

    目錄 1. 終端概述 2. 串行端口終端(/dev/ttySn) 3. 偽終端(/dev/pty/) 4. 控制終端(/dev/tty) 5. 控制臺終端(/dev/ttyn, /dev/console) 6. 虛擬終端(/dev/pts/n) 7. 其它類型   終端概述 終端…

    Linux干貨 2016-10-18
  • 馬哥教育網絡班22期+第1周課程練習 忍者亂太郎喻成

    1.計算機組成:  根據馮諾依曼的計算機結構分為四大塊:控制器,運算器, 存儲器,輸入輸出設備 控制器:對其他的組件進行控制 運算器:用于處理計算工作,不控制輸入和輸出 儲存器:用于暫時或長期存儲數據 輸入輸出:與外界進行交互 個人延伸: 我的理解這是一個在計算機研發之前的一個理論假象, 相對現在真實的計算機體系,這個分類會比較模糊。 運算器:cp…

    Linux干貨 2016-08-15
  • 如何安裝CentOS 6.8 ?

    一 ,首先我要先在虛擬機的平臺上搭建一下我們需要的環境。 1,選擇創建一個新的虛擬機。之后選擇自定義安裝。點擊下一步 2,選擇硬件兼容性workstation12.0,(根據情況你也可以選擇下面的幾個版本,不過要記得選擇版本之后,不能再這個版本以下打開虛擬機) 3,點擊下一步選擇安裝程序光盤映像文件項。點擊下一步。 4,之后創建一下用戶信息,點擊下一步。 5…

    Linux干貨 2017-02-14
  • 第8天:腳本基礎,btrf,raid,

    http://note.youdao.com/yws/public/redirect/share?id=61b38adef24ced4dc646a5ef8e68df18&type=false

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