用shell寫了一個自動編譯代碼的腳本

       爲了充分利用晚上的時間進行編譯,用shell寫了一個自動編譯代碼的腳本,這樣保證第二天的調試工作不會受大版本編譯的影響,同時也能監測服務器端的代碼是否出錯。我習慣是在每天下班離開之前運行此腳本。

1、運行命令:打開ubuntu終端

$sleep 3600;./build_local.sh 2 3

上面這條命令的含義是:睡眠3600秒之後,調用build_local.sh腳本,腳本的參數爲2 和 3

2、腳本內容爲,因爲內容很簡單,所以不做解釋:

#!/bin/bash

if [ "$1a" != "a" ]; then
	cd /media/code/92_n_$1/android-m92/;
	pwd
	source build/envsetup.sh;
	lunch 23;
	git pull;
	make clean;
	make -j4
else
	echo "paramters wrong!!!"
fi
#

if [ "$2a" != "a" ];then
	cd /media/code/92_n_2/android-m92/;
	source build/envsetup.sh;
	lunch 23;
	git pull;
	make clean;
	make -j4
fi

===============================================分割線======================================================

另:在此記錄下一零散的shell編寫語法:

注意:這裏的空格很重要。要確保方括號的空格。筆者就曾因爲空格缺少或位置不對,而浪費好多寶貴的時間。

if ....; then
....
elif ....; then
....
else
....
fi
[ -f "somefile" ] :判斷是否是一個文件
[ -x "/bin/ls" ] :判斷/bin/ls是否存在並有可執行權限
[ -n "$var" ] :判斷$var變量是否有值
[ "$a" = "$b" ] :判斷$a和$b是否相等
-r file     用戶可讀爲真
-w file     用戶可寫爲真
-x file     用戶可執行爲真
-f file     文件爲正規文件爲真
-d file     文件爲目錄爲真
-c file     文件爲字符特殊文件爲真
-b file     文件爲塊特殊文件爲真
-s file     文件大小非0時爲真
-t file     當文件描述符(默認爲1)指定的設備爲終端時爲真

含條件選擇的shell腳本 對於不含變量的任務簡單shell腳本一般能勝任。但在執行一些決策任務時,就需要包含if/then的條件判斷了。shell腳本編程支持此類運算,包括比較運算、判斷文件是否存在等。
基本的if條件命令選項有: - eq —比較兩個參數是否相等(例如,if [ 2 –eq 5 ])
-ne —比較兩個參數是否不相等
-lt —參數1是否小於參數2
-le —參數1是否小於等於參數2
-gt —參數1是否大於參數2
-ge —參數1是否大於等於參數2
-f — 檢查某文件是否存在(例如,if [ -f "filename" ])
-d — 檢查目錄是否存在
幾乎所有的判斷都可以用這些比較運算符實現。腳本中常用-f命令選項在執行某一文件之前檢查它是否存在。




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