linux中的shell簡介
阿新 • • 發佈:2018-12-25
1.什麼是shell?
- Shell是linux的一外殼,它包在linux核心的外面,為使用者和核心之間的互動提供了一個介面
- 當用戶下達指令給作業系統的時候,實際上是把指令告訴shell,經過shell解釋,處理後讓核心做出相應的動作
- 系統的迴應和輸出的資訊也由shell處理,然後顯示在使用者的螢幕上
2.什麼是shell指令碼?
- 簡單的說,當命令或者程式不在命令列執行,而是通過一個程式檔案來執行,這個程式就被稱為shell指令碼
- 也就是在shell腳本里內建了多條命令,語句,迴圈控制,然後將這些命令一次性執行完畢,這種通過檔案執行命令的方式稱為
非互動式
3.為什麼使用shell指令碼?
- 適合處理作業系統底層的業務,有眾多系統命令為其做支撐(還有文字處理三兄弟grep,sed,awk)
- 適合處理純文字檔案,linux中許多服務配置檔案,啟動指令碼,都是純文字(httpd,nfs,mysql,nginx,lvs)
- linux系統指令碼用shell開發更簡單
那麼如何檢視系統的預設shell呢
方法1
echo $SHELL
方法2
grep root /etc/passwd ##如下圖,如果想要查詢其他使用者,只需要更換關鍵字即可
4.shell指令碼的建立
#!/bin/bash ## /bin/bash指定直譯器:由哪個程式來執行指令碼內,#!表示幻數容。
echo "Hello world" ##注意:#!/bin/bash必須寫在第一行,否則會被認為是註釋。
試著執行一下這個指令碼
5.指令碼的執行過程
- 先載入系統環境變數,怎麼檢視系統環境變數:env
- 一條一條命令執行,遇到子指令碼,先執行子指令碼,然後返回父指令碼繼續執行
例如上圖為系統環境變數
6.指令碼的執行方法
1.sh script.sh | bash script.sh ##沒有執行許可權時
2.path/script.sh | ./script.sh ##絕對路徑,當前目錄下,需要檔案具備可執行許可權,chmod +x
3.source script.sh | . script.sh ##這種方式會使用source或.號來讀如指定shell檔案,並會把其他shell中的變數值或函式返回給父shell繼續使用
7.指令碼開發規範
- 註釋:可以命令後,也可以自成一行
- 指令碼資訊:
- 指令碼名:最好以.sh結尾
例如
#!/bin/bash
#Date:2018-12-14
#Author:westos-wsp
#Connect:[email protected]
#Desc:This script is for...
#Version:1.0
這裡就是程式程式碼了
ok~