文章出處
文章列表
這時在centos 6.2下的第一個shell script,命名為 sh01.sh
1 #!/bin/bash 2 #Program 3 # This program shows "Hello World" in your screen. 4 #History: 5 #2015/9/6 zengdp First release 6 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 7 export PATH 8 echo -e "Hello World \a \n" 9 exit 0
- 第一行 #!/bin/bash 在宣告這個 script 使用的 shell 名稱:
因為我們使用的是 bash ,所以,必須要以『 #!/bin/bash 』來宣告這個文件內的語法使用 bash 的語法!那么當這個程序被運行時,他就能夠加載 bash 的相關環境配置檔 (一般來說就是 non-login shell 的 ~/.bashrc), 并且運行 bash 來使我們底下的命令能夠運行!這很重要的!(在很多狀況中,如果沒有配置好這一行, 那么該程序很可能會無法運行,因為系統可能無法判斷該程序需要使用什么 shell 來運行啊!) - 程序內容的說明:
整個 script 當中,除了第一行的『 #! 』是用來宣告 shell 的之外,其他的 # 都是『注解』用途! 所以上面的程序當中,第二行以下就是用來說明整個程序的基本數據。一般來說, 建議你一定要養成說明該 script 的:1. 內容與功能; 2. 版本資訊; 3. 作者與聯絡方式; 4. 建檔日期;5. 歷史紀錄 等等。這將有助於未來程序的改寫與 debug 呢! - 主要環境變量的宣告:
建議務必要將一些重要的環境變量配置好,鳥哥個人認為, PATH 與 LANG (如果有使用到輸出相關的資訊時) 是當中最重要的! 如此一來,則可讓我們這支程序在進行時,可以直接下達一些外部命令,而不必寫絕對路徑呢!比較好啦! - 主要程序部分
就將主要的程序寫好即可!在這個例子當中,就是 echo 那一行啦!echo 必須要加上 -e 的選項才行! - 運行成果告知 (定義回傳值)
是否記得我們在第十一章里面要討論一個命令的運行成功與否,可以使用 $? 這個變量來觀察~ 那么我們也可以利用 exit 這個命令來讓程序中斷,并且回傳一個數值給系統。 在我們這個例子當中,鳥哥使用 exit 0 ,這代表離開 script 并且回傳一個 0 給系統, 所以我運行完這個 script 后,若接著下達 echo $? 則可得到 0 的值喔! 更聰明的讀者應該也知道了,呵呵!利用這個 exit n (n 是數字) 的功能,我們還可以自訂錯誤信息, 讓這支程序變得更加的 smart 呢!
運行:
sh sh01.sh
在一些環境的配置上面,畢竟每個人的環境都不相同,為了取得較佳的運行環境, 我都會自行先定義好一些一定會被用到的環境變量,例如 PATH 這個玩意兒! 這樣比較好啦~所以說,建議你一定要養成良好的 script 撰寫習慣,在每個 script 的檔頭處記錄好:
- script 的功能;
- script 的版本資訊;
- script 的作者與聯絡方式;
- script 的版權宣告方式;
- script 的 History (歷史紀錄);
- script 內較特殊的命令,使用『絕對路徑』的方式來下達;
- script 運行時需要的環境變量預先宣告與配置。
除了記錄這些資訊之外,在較為特殊的程序碼部分,個人建議務必要加上注解說明,可以幫助你非常非常多! 此外,程序碼的撰寫最好使用巢狀方式,在包覆的內部程序碼最好能以 [tab] 按鍵的空格向后推, 這樣你的程序碼會顯的非常的漂亮與有條理!在查閱與 debug 上較為輕松愉快喔! 另外,使用撰寫 script 的工具最好使用 vim 而不是 vi ,因為 vim 會有額外的語法檢驗機制,能夠在第一階段撰寫時就發現語法方面的問題喔!
來源 -> 戳我
文章列表
全站熱搜