1 什麼是shell腳本
1 shell除了是指令解釋器之外還是一種程式設計語言,用shell編寫的程式類似于DOS下的批處理程式
2 使用者可以在檔案中存放一系列的指令,通常将shell編寫的程式稱為shell腳本或者shell程式
3 将指令,變量和流程控制有機遞結合起來将會得到一個功能強大的程式設計工具。shell腳本語言非常擅長處理文本類型的的資料,由于Linux系統中的所有的配置檔案都是純文字的,是以shell腳本語言在管理Linux系統中發揮了巨大的作用
2 shell腳本的成分
1 shell腳本是以行為機關的,在執行腳本的時候會分解為一行一行依次執行,腳本中所包含的成分主要有:注釋,指令,shell變量和結構控制語句
2 注釋:注釋部分是用于對腳本進行解釋和說明,在注釋行的前面加上符号#,這樣在執行腳本的時候shell就不會對該行進行解釋
3 指令:在shell腳本中可以出現任何互動式下可以使用的指令
4 變量:shell支援兩種的資料類型字元串變量和整型變量
5 結構控制語句:用于編寫複雜腳本的流程控制語句
3 shell腳本的建立與執行
1 使用者可以使用任何的文本編輯器建立shell腳本檔案,比如vi,gedit等等
2 對shell腳本的執行有兩種方法
1 一種是将檔案名作為shell指令的參數,調用格式
sh 檔案名
2 另外一種是./檔案名
但是當我們執行這份額腳本檔案的時候,發現提示我們沒有執行權限,是以以第二種方式來執行的時候我們必須改變這個檔案的權限,使得它具有執行的權限
3 當執行一個腳本檔案的時候,shell就産生一個子shell(即子程序)去執行指令中的指令,是以檔案中的變值不能傳遞到shell中
4 shell腳本的編碼規範
1 一個bash腳本的正确的起始部分是應該以#!開頭:#!/bin/bash
2 在調用bash腳本的時候,以#!開頭的語句通知系統用何解釋器執行腳本
3 如果預設的shell是bash可以不用寫,但是良好的shell編碼規範要求我們必須要注明是用什麼解釋器在執行
5 shell執行個體分析
1 首先ubuntu系統下的預設的shell是dash,ubuntu下的sh隻是預設shell的連結,我們可以利用 ls /bin/sh -l 來檢視預設的shell

2 我們可以使用以下兩種方法來更改預設的shell
1 sudo dpkg-reconfigure dash, 然後選擇
no 或者 否 ,并确認。這樣做将重新配置 dash,并使其不作為預設的 shell 工具
2 也可以直接修改 /bin/sh 連結檔案,sudo
ln -fs /bin/bash /bin/sh 将其指定到 /bin/bash。
3 接下來我們來建立一個shell的腳本,命名為s.sh
4 接下來我們利用兩種方法來執行,利用第二種的時候要先更改權限