認(rèn)識(shí)幾個(gè)Shell腳本語(yǔ)言

export PATH=$PATH:$ANDROID_HOME/platform-tools/     #導(dǎo)入環(huán)境變量

./gradlew clean assembleRelease buildOfficial       

#!/bin/bash                         #用這個(gè)命令解釋器

time=10                        #變量

i=5;

timer=6999                     #這個(gè)構(gòu)建最大運(yùn)行時(shí)間:ms

usecaseFilename2=testcasepre                  #運(yùn)行測(cè)試用例前的準(zhǔn)備工作(用例)

usecaseFilename="testcaseMedicalRecord"    #運(yùn)行的測(cè)試用例

devicenamelast=

deleteXls=true                       

app=~/.jenkins/workspace/Medclips_AutoVersion_Release/app/build/channels/medchart_for_android_001.apk                        #要測(cè)試的軟件

testApp=~/.jenkins/workspace/Medclips_AutoTest_Release/build/channels/medclips_android_001_zipalign.apk                         #測(cè)試軟件

if[ -f true.txt ];then                        #如果true.tex存在,則刪除這個(gè)文件

rm true.txt

fi

echo $EXECUTOR_NUMBER                        #打印EXECUTOR_NUMBER

#沒有設(shè)備時(shí)蔚润,重啟server殿漠;BUILD_NUMBER是16的倍數(shù)時(shí)犀暑,重啟server帽揪、手機(jī)設(shè)備

sleep100#等待100ms

./restart-server.sh $time $i                                 #執(zhí)行這個(gè)腳本 

if[ $[$BUILD_NUMBER%10] -eq0] ;then                      #如果構(gòu)建號(hào)BUILD_NUMBER可以整除10戏罢,則執(zhí)行./restart-server-devices.sh文件

./restart-server-devices.sh $time $i $ANDROID_HOME $app $testApp

fi

j=5

device_list=$(adb devices)            #device_list=現(xiàn)在連接電腦的測(cè)試設(shè)備

devicename=$(echo $device_list | cut -d' '-f$j)           #獲得device_name# cut -d'分隔字符' -f fields <==用于有特定分隔字符-f:依據(jù)-d的分隔字符將一段信息分割成為數(shù)段屋谭,用-f取出第幾段的意思;

devicestatus=$(echo $device_list | cut -d' '-f$[$j+1])        #獲得devicestatus

while["$devicename"!=""]                   #當(dāng)設(shè)備名不為空并且設(shè)備狀態(tài)不為下線時(shí)

do

if["$devicestatus"!="offline"];then

{

adb -s $devicename push $WORKSPACE/testdata/ /mnt/sdcard/                                              #將$WORKSPACE/testdata/拷貝到手機(jī)/mnt/sdcard/上

devicenamelast=$devicename;           #定義devicenamelast

adb-s $devicenamelastshell am instrument -e class com.xsltest.framework.MedSuite-e xmlname $usecaseFilename2-w com.xsltest.framework/com.xsltest.framework.MyTestRunner 

#在手機(jī)上運(yùn)行usecaseFilename2.xml文件中的用例

adb-s $devicenamelastshell am instrument -e class com.xsltest.testcase.testother.deleteCase-w com.xsltest.framework/com.xsltest.framework.MyTestRunner

#在手機(jī)上運(yùn)行deleteCase用例

}&

fi

j=$[$j+2]

devicename=$(echo $device_list | cut -d' '-f$j)   #如果有多個(gè)設(shè)備龟糕,獲取下面的設(shè)備名

devicestatus=$(echo $device_list | cut -d' '-f$[$j+1])

done

wait

while[ ! -f $app ];do                #如果-f $app是常規(guī)文件則為真

{

sleep10

}

done

#安裝測(cè)試版本桐磁、被測(cè)版本,執(zhí)行用例

chmod 777 run-usecases.sh                    #修改run-usecases.sh的執(zhí)行權(quán)限

{

./run-usecases.sh $time $i $WORKSPACE $usecaseFilename $app $testApp $deleteXls

#運(yùn)行這個(gè)run-usecases.sh文件

}&

#判斷usecase是否運(yùn)行成功讲岁,成功后獲取結(jié)果我擂;或者超時(shí)后結(jié)束運(yùn)行,并獲取結(jié)果

chmod777usecase-results.sh

{

./usecase-results.sh $time $i $WORKSPACE $timer   

#運(yùn)行這個(gè)run-usecases.sh文件

}&

wait

以上是平時(shí)用到的一個(gè)shell腳本缓艳,其中的幾個(gè)shell腳本學(xué)習(xí):

1.if ... else 語(yǔ)句的語(yǔ)法:

if [ expression ]

then

Statement(s) to be executed if expression is true

fi

如果 expression 返回 true校摩,then 后邊的語(yǔ)句將會(huì)被執(zhí)行;如果返回 false阶淘,不會(huì)執(zhí)行任何語(yǔ)句衙吩。

最后必須以 fi 來結(jié)尾閉合 if,fi 就是 if 倒過來拼寫溪窒,后面也會(huì)遇見坤塞。

注意:expression 和方括號(hào)([ ])之間必須有空格,否則會(huì)有語(yǔ)法錯(cuò)誤霉猛。

if ... else ... fi 語(yǔ)句的語(yǔ)法:

if [ expression ]

then

Statement(s) to be executed if expression is true

else

Statement(s) to be executed if expression is not true

fi

如果 expression 返回 true尺锚,那么 then 后邊的語(yǔ)句將會(huì)被執(zhí)行;否則惜浅,執(zhí)行 else 后邊的語(yǔ)句瘫辩。

2.-f filename 如果 filename為常規(guī)文件,則為真

-e filename 如果 filename存在,則為真

-d filename 如果 filename為目錄伐厌,則為真

3.echo

echo 字符串 輸出字符串或變量的值承绸,默認(rèn)輸出后會(huì)換行,且不會(huì)識(shí)別特殊字符

echo -n 字符串 輸出字符串或變量的值挣轨,不換行

echo -e 字符串 輸出字符串或變量的值军熏,在遇到 特殊字符時(shí)需轉(zhuǎn)換,比如\n代表?yè)Q行

4.$

$var 取變量值

5.while

while[ expression ]

do

Statement(s) to be executed if expression is true

done

只要條件判斷式為真就一直執(zhí)行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卷扮,一起剝皮案震驚了整個(gè)濱河市荡澎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晤锹,老刑警劉巖摩幔,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鞭铆,居然都是意外死亡或衡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門车遂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來封断,“玉大人,你說我怎么就攤上這事舶担∑绿郏” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵柄沮,是天一觀的道長(zhǎng)回梧。 經(jīng)常有香客問我废岂,道長(zhǎng)祖搓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任湖苞,我火速辦了婚禮拯欧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘财骨。我一直安慰自己镐作,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布隆箩。 她就那樣靜靜地躺著该贾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捌臊。 梳的紋絲不亂的頭發(fā)上杨蛋,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼逞力。 笑死曙寡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寇荧。 我是一名探鬼主播举庶,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼揩抡!你這毒婦竟也來了户侥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤峦嗤,失蹤者是張志新(化名)和其女友劉穎添祸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寻仗,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刃泌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了署尤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耙替。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖曹体,靈堂內(nèi)的尸體忽然破棺而出俗扇,到底是詐尸還是另有隱情,我是刑警寧澤箕别,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布铜幽,位于F島的核電站,受9級(jí)特大地震影響串稀,放射性物質(zhì)發(fā)生泄漏除抛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一母截、第九天 我趴在偏房一處隱蔽的房頂上張望到忽。 院中可真熱鬧,春花似錦清寇、人聲如沸喘漏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翩迈。三九已至,卻和暖如春盔夜,著一層夾襖步出監(jiān)牢的瞬間负饲,已是汗流浹背搅方。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绽族,地道東北人姨涡。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吧慢,于是被迫代替她去往敵國(guó)和親涛漂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容