shell腳本

爲何新建好的shell腳本不能直接執行: ~]xxxx.shshell

由於在bash中,命令的使用是 command options ,直接用~]xxx.sh,這個xxx.sh會被認爲成一個命令,而後bash去PATH中尋找解釋器,通常新建腳本的路徑不在PATH中,因此沒法直接執行,可使用./指定當前路徑來執行sh腳本,或者也能夠直接使用絕對路徑來執行sh腳本centos

介紹:數組

  1. Shell是一個用C語言編寫的程序,經過Shell用戶能夠訪問操做系統內核服務,相似於DOS下的command和後來的cmd.exe
  2. Shell既是一種命令語言,又是一種程序設計語言。做爲命令語言,它交互式地解釋和執行用戶輸入的命令;做爲程序設計語言,它定義了各類變量、參數、函數、流程控制等等。它調用了系統核心的大部分功能來執行程序、創建文件並以並行的方式協調各個程序的運行
  3. 編譯型\解釋性 編譯型語言 須要預先將咱們寫好的源代碼轉換成目標代碼,這個過程被稱做「編譯」。運行程序時,直接讀取目標代碼。因爲編譯後的目標代碼很是接近計算機底層,所以執行效率很高,這是編譯型語言的優勢 解釋型語言 也叫作腳本語言。執行這類程序時,解釋器須要讀取咱們編寫的源代碼,並將其轉換成目標代碼,再由計算機運行。由於每次執行程序都多了編譯的過程,所以效率有所降低

Shell腳本解釋器 cat /etc/shells /bin/bash bash因爲易用和免費,在平常工做中被普遍使用。同時,Bash也是大多數Linux系統默認的Shell腳本解釋器。bash

流程

#變量 函數

#參數的傳遞 工具

#特殊字符 測試

#字符串 spa

#數組 操作系統

#運算符 原生bash不支持簡單的數學運算,能夠經過其餘命令來實現,例如 awk 和 expr,expr 最經常使用,expr 是一款表達式計算工具,使用它能完成表達式的求值操做。 設計

#流程控制

#函數

環境變量:

實現自增

示例:

測試命令:

查找centos用戶

shell中的測試類型 模式匹配

腳本的狀態返回值 默認的echo $? 輸出的就是命令執行狀態碼 文件測試

組合測試條件 ![](https://img2018.cnblogs.com/blog/1361758/2(01909/1361758-20190916083410617-1942003221.png)

向腳本傳參 超過9以後 $(10) 一次日後推,使用shift能夠完成輪替,shift 1 表明提出第一個位置參數,

比較兩數大小

也能夠直接聲明

相關文章
相關標籤/搜索