一起來寫Shell Script 01

接觸linux時間有段時間,雖然之前對shell腳本如雷貫耳,一直相學,但是一直沒找到一些比較基礎的教程,常常看的暈暈乎乎的,直到我看到了鳥哥的私房菜:http://cn.linux.vbird.org/linux_basic/0220filemanager_4.php#file shell Script篇,覺得豁然開朗,下面就和我一起來學習shell Script 吧

要學習shell腳本,就要知道什麼是shell腳本

一、什麼是shell Script?

簡單的說, shell script 就像是早期 DOS 年代的批處理文件 (.bat) ,最簡單的功能就是將講多 指令彙整寫在一起,使得可以執行一個檔案 “shell script” ,就能夠一次執行多個指令,是爲了簡化操作,以及可以簡單的重複使用

shell script 是利用 shell 的功能所寫的一個『程序 (program)』,這個程序是使 用純文本文件,將一些 shell 的語法指令(或外部指令)寫在裏面, 搭配正則表示法、管線命令和數據 流重導向等功能,以達到我們所想要的處理目的

也就是說,寫一個shell Script 第一個要知道執行這個操作的shell命令怎麼寫,第二個還可以結合數組、循環、條件選擇與判斷 函數等 重要功能來進行更復雜的操作。

由於 這個程序語言 都是利用shell不相關工具指令, 所以不需要編譯即可執行,且擁有不錯 的除錯 (debug) 工具

撰寫的注意事項:

1. 指令的執行是從上而下、從左而史的分析不執行;
2. 指令的下達就如同第五章內提到的: 指令、選項不參數間的多個空白都會被忽略掉;
3. 空白行也將被忽略掉,並且 [tab] 按鍵所推開的空白同樣規爲空格鍵;
4. 如果讀取到一個 Enter 符號 (CR) ,就嘗試開始執行該行 (或該串) 命令;
5. 至於如果一行的內容太多,則可以使用『 \[Enter] 』來延伸至下一行;
6. 『 # 』可做爲批註!任何加在 # 後面的資料將全部被規爲批註文字而被忽略!

二、 寫一個簡單的shell Script吧

1、vim sh01.sh //建立名字叫sh01.sh的普通文件
2、輸入一些你想要執行的命令 比如 helloworld
3、給建立的shell加上可讀於可執行 (rx) 的權限 chmod a+x sh01.sh
4、執行

下面來一行一行解釋程序
#!/bin/bash              #指定是在那種bash 下面的語法,不然可能會出錯哦
#Program:              
#	this program shows "HelloWorld" in your screen       #說明該script的用處
#History                                                             #歷史
#2019/05/03      zyr    firstcreate                                  #記錄一下時間和作者名以及做了什麼修改等等
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin     #主要環境變量的宣告
export PATH
echo -e "Hello World!\a\n"                                     #主程序部分
exit 0                                                                     #退出 執行成功返回0
可以用$?  來查看

在這裏插入圖片描述
在這裏插入圖片描述
這裏sh01.sh變成了綠色的可執行文件
在這裏插入圖片描述
執行輸出
在這裏插入圖片描述

echo 指令 打印輸出的意思
Echo the String(s) to stanrdard output
-n  不換行輸出
-e  激活轉義字符
-E   不允許後面的輸出進行轉義
-- help  幫助
 如果 -e有效  可以識別以下的換行符
\\     backslash

\a     alert (BEL)

\b     backspace

\c     produce no further output

\e     escape

上面只是執行的一種簡單的方式,還有一些其他的執行方式

1、直接指令下達: shell.sh 檔案必須要具備可讀於可執行 (rx) 的權限,然後:
2、絕對路徑:使用 /home/dmtsai/shell.sh 來下達指令;
3、相對路徑:假設工作目錄在 /home/dmtsai/ ,則使用 ./shell.sh 來執行
4、變量『PATH』功能:將 shell.sh 放在 PATH 指定的目錄內,例如: ~/bin/

三、養成撰寫Script的好習慣

一下是鳥哥的一些心得:

1、在一些環境的設定上面,畢竟每個人的環境都不相同,爲了得到較佳的執行環境, 我都會自行 先定義好一些一定會被用到的環境髮量PATH
2、一定要寫註釋:
script 的功能;
script 的版本信息;
script 的作者不聯絢方式;
script 的版權宣告方式;
script 的 History (歷史紀錄);
script 內較特殊的指令,使用『絕對路徑』的方式來script 運作時需要的環境髮量預先宣告不設定。
3、另外 在包覆的內部程序代碼最好能以 [tab] 按鍵的空格 向後推, 這樣你的程序代碼會顯的非常的漂亮不有條理
4、使用撰寫 script 的工具最好使用 vim 而不是 vi ,因爲 vim 會有額外的語法檢驗機制,能夠在第 一階段撰寫時就發現語法方面的問題喔

另外,讓vim顯示行號: https://www.cnblogs.com/opsprobe/p/9156973.html

後續會有一些腳本的範例:在 一起來寫Shell Script 02 https://mp.csdn.net/mdeditor/89857512

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章