<kbd id="fugzo"></kbd>
<pre id="fugzo"></pre>
    1. <fieldset id="fugzo"><style id="fugzo"></style></fieldset>
      <center id="fugzo"></center>
    2. 哑剧盖章,电视剧折腰免费观看全集,亮剑3gp下载,秘密访客,泰剧为你着迷,古城童话,食物链无删减,大鱼海棠

      Shell腳本調試技術

      時間:2024-09-30 15:20:19 Linux認證

      關于Shell腳本調試技術

        Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的。下面小編準備了關于Shell腳本調試技術,提供給大家參考!

        一. 前言

        shell 編程在unix/linux世界中使用得非常廣泛,熟練掌握shell編程也是成為一名優秀的unix/linux開發者和系統管理員的必經之路。腳本調 試的主要工作就是發現引發腳本錯誤的原因以及在腳本源代碼中定位發生錯誤的行,常用的手段包括分析輸出的錯誤信息,通過在腳本中加入調試語句,輸出調試信 息來輔助診斷錯誤,利用調試工具等。但與其它高級語言相比,shell解釋器缺乏相應的調試機制和調試工具的支持,其輸出的錯誤信息又往往很不明確,初學 者在調試腳本時,除了知道用echo語句輸出一些信息外,別無它法,而僅僅依賴于大量的加入echo語句來診斷錯誤,確實令人不勝其繁,故常見初學者抱怨 shell腳本太難調試了。本文將系統地介紹一些重要的shell腳本調試技術,希望能對shell的初學者有所裨益。

        本文的目標讀者是unix/linux環境下的開發人員,測試人員和系統管理員,要求讀者具有基本的shell編程知識。本文所使用范例在 Bash3.1+Redhat Enterprise Server 4.0下測試通過,但所述調試技巧應也同樣適用于其它shell。

        二. 在shell腳本中輸出調試信息

        通 過在程序中加入調試語句把一些關鍵地方或出錯的地方的相關信息顯示出來是最常見的調試手段。Shell程序員通常使用echo(ksh程序員常使用 print)語句輸出信息,但僅僅依賴echo語句的輸出跟蹤信息很麻煩,調試階段在腳本中加入的大量的echo語句在產品交付時還得再費力一一刪除。針 對這個問題,本節主要介紹一些如何方便有效的輸出調試信息的方法。

        1. 使用trap命令

        trap命令用于捕獲指定的信號并執行預定義的命令。

        其基本的語法是:

        trap 'command' signal

        其中signal是要捕獲的信號,command是捕獲到指定的信號之后,所要執行的命令。可以用kill –l命令看到系統中全部可用的信號名,捕獲信號后所執行的命令可以是任何一條或多條合法的shell語句,也可以是一個函數名。

        shell腳本在執行時,會產生三個所謂的“偽信號”,(之所以稱之為“偽信號”是因為這三個信號是由shell產生的,而其它的信號是由操作系統產生的),通過使用trap命令捕獲這三個“偽信號”并輸出相關信息對調試非常有幫助。

        表 1. shell偽信號

      信號名 何時產生  
        EXIT 從一個函數中退出或整個腳本執行完畢
        ERR 當一條命令返回非零狀態時(代表命令執行不成功)
        DEBUG 腳本中每一條命令執行之前
               

        通過捕獲EXIT信號,我們可以在shell腳本中止執行或從函數中退出時,輸出某些想要跟蹤的變量的值,并由此來判斷腳本的執行狀態以及出錯原因,其使用方法是:

        trap 'command' EXIT 或 trap 'command' 0

        通過捕獲ERR信號,我們可以方便的追蹤執行不成功的命令或函數,并輸出相關的調試信息,以下是一個捕獲ERR信號的示例程序,其中的$LINENO是一個shell的內置變量,代表shell腳本的當前行號。

      $ cat -n exp1.sh     
      1    ERRTRAP()     
      2     {     
      3        echo "[LINE:$1] Error: Command or function exited with status $?"     
      4     }     
      5      foo()     
      6     {     
      7        return 1;     
      8      }     
      9      trap 'ERRTRAP $LINENO' ERR    
      10    abc    
      11    foo      

        其輸出結果如下:

        $ sh exp1.sh

        exp1.sh: line 10: abc: command not found

        [LINE:10] Error: Command or function exited with status 127

        [LINE:11] Error: Command or function exited with status 1

        在調試過程中,為了跟蹤某些變量的值,我們常常需要在shell腳本的許多地方插入相同的echo語句來打印相關變量的值,這種做法顯得煩瑣而笨拙。而通過捕獲DEBUG信號,我們只需要一條trap語句就可以完成對相關變量的全程跟蹤。

        以下是一個通過捕獲DEBUG信號來跟蹤變量的示例程序:

      $ cat –n exp2.sh     
      1    #!/bin/bash     
      2           trap 'echo “before execute line:$LINENO, a=$a,b=$b,c=$c”' DEBUG     
      3           a=1     
      4           if [ "$a" -eq 1 ]     
      5           then     
      6              b=2     
      7           else     
      8              b=1     
      9           fi    
      10        c=3    
      11        echo "end"

        其輸出結果如下:

      $ sh exp2.sh before execute line:3, a=,b=,c= before execute line:4, a=1,b=,c= before execute line:6, a=1,b=,c= before execute line:10, a=1,b=2,c= before execute line:11, a=1,b=2,c=3 end

        從運行結果中可以清晰的看到每執行一條命令之后,相關變量的值的變化。同時,從運行結果中打印出來的行號來分析,可以看到整個腳本的執行軌跡,能夠判斷出哪些條件分支執行了,哪些條件分支沒有執行。

        2. 使用tee命令

        在 shell腳本中管道以及輸入輸出重定向使用得非常多,在管道的作用下,一些命令的執行結果直接成為了下一條命令的輸入。如果我們發現由管道連接起來的一 批命令的執行結果并非如預期的那樣,就需要逐步檢查各條命令的執行結果來判斷問題出在哪兒,但因為使用了管道,這些中間結果并不會顯示在屏幕上,給調試帶 來了困難,此時我們就可以借助于tee命令了。

        tee命令會從標準輸入讀取數據,將其內容輸出到標準輸出設備,同時又可將內容保存成文件。例如有如下的腳本片段,其作用是獲取本機的ip地址:

      ipaddr=`/sbin/ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d : -f3 | awk '{print $1}'`  #注意=號后面的整句是用反引號(數字1鍵的左邊那個鍵)括起來的。 echo $ipaddr

        運行這個腳本,實際輸出的卻不是本機的ip地址,而是廣播地址,這時我們可以借助tee命令,輸出某些中間結果,將上述腳本片段修改為:

      ipaddr=`/sbin/ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | tee temp.txt | cut -d : -f3 | awk '{print $1}'` echo $ipaddr

        之后,將這段腳本再執行一遍,然后查看temp.txt文件的內容:

      $ cat temp.txt inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0

        我們可以發現中間結果的第二列(列之間以:號分隔)才包含了IP地址,而在上面的腳本中使用cut命令截取了第三列,故我們只需將腳本中的cut -d : -f3改為cut -d : -f2即可得到正確的結果。

        具 體到上述的script例子,我們也許并不需要tee命令的幫助,比如我們可以分段執行由管道連接起來的各條命令并查看各命令的輸出結果來診斷錯誤,但在 一些復雜的shell腳本中,這些由管道連接起來的命令可能又依賴于腳本中定義的一些其它變量,這時我們想要在提示符下來分段運行各條命令就會非常麻煩 了,簡單地在管道之間插入一條tee命令來查看中間結果會更方便一些。

        3. 使用"調試鉤子"

        在C語言程序中,我們經常使用DEBUG宏來控制是否要輸出調試信息,在shell腳本中我們同樣可以使用這樣的機制,如下列代碼所示:

      if [ “$DEBUG” = “true” ]; then echo “debugging”  #此處可以輸出調試信息 fi

        這樣的代碼塊通常稱之為“調試鉤子”或“調試塊”。 在調試鉤子內部可以輸出任何您想輸出的調試信息,使用調試鉤子的好處是它是可以通過DEBUG變量來控制的,在腳本的開發調試階段,可以先執行 export DEBUG=true命令打開調試鉤子,使其輸出調試信息,而在把腳本交付使用時,也無需再費事把腳本中的調試語句一一刪除。

        如果在每一處需要輸出調試信息的地方均使用if語句來判斷DEBUG變量的值,還是顯得比較繁瑣,通過定義一個DEBUG函數可以使植入調試鉤子的過程更簡潔方便,如下面代碼所示:

        $ cat –n exp3.sh

        1 DEBUG()

        2 {

        3 if [ "$DEBUG" = "true" ]; then

        4 $@

        5 fi

        6 }

        7 a=1

        8 DEBUG echo "a=$a"

        9 if [ "$a" -eq 1 ]

        10 then

        11 b=2

        12 else

        13 b=1

        14 fi

        15 DEBUG echo "b=$b"

        16 c=3

        17 DEBUG echo "c=$c"

        在上面所示的DEBUG函數中,會執行任何傳給它的命令,并且這個執行過程是可以通過DEBUG變量的值來控制的,我們可以把所有跟調試有關的命令都作為DEBUG函數的參數來調用,非常的方便。

        三. 使用shell的執行選項

        上一節所述的調試手段是通過修改shell腳本的源代碼,令其輸出相關的調試信息來定位錯誤的,那有沒有不修改源代碼來調試shell腳本的方法呢?答案就是使用shell的執行選項,本節將介紹一些常用選項的用法:

        -n 只讀取shell腳本,但不實際執行

        -x 進入跟蹤方式,顯示所執行的每一條命令

        -c "string" 從strings中讀取命令

        “-n”可用于測試shell腳本是否存在語法錯誤,但不會實際執行命令。在shell腳本編寫完成之后,實際執行之前,首先使用“-n”選項來測試腳本是否存在語法錯誤是一個很好的習慣。因為某些shell腳本在執行時會對系統環境產生影響,比如生成或移動文件等,如果在實際執行才發現語法錯誤,您不得不手工做一些系統環境的恢復工作才能繼續測試這個腳本。

        “-c”選項使shell解釋器從一個字符串中而不是從一個文件中讀取并執行shell命令。當需要臨時測試一小段腳本的執行結果時,可以使用這個選項,如下所示:

        sh -c 'a=1;b=2;let c=$a+$b;echo "c=$c"'

        "-x"選項可用來跟蹤腳本的執行,是調試shell腳本的強有力工具。“-x”選項使shell在執行腳本的過程中把它實際執行的每一個命令行顯示出來,并且在行首顯示一個"+"號。 "+"號后面顯示的是經過了變量替換之后的命令行的內容,有助于分析實際執行的是什么命令。 “-x”選項使用起來簡單方便,可以輕松對付大多數的shell調試任務,應把其當作首選的調試手段。

        如果把本文前面所述的trap ‘command’ DEBUG機制與“-x”選項結合起來,我們就可以既輸出實際執行的每一條命令,又逐行跟蹤相關變量的值,對調試相當有幫助。

        仍以前面所述的exp2.sh為例,現在加上“-x”選項來執行它:

      $ sh –x exp2.sh + trap 'echo "before execute line:$LINENO, a=$a,b=$b,c=$c"' DEBUG ++ echo 'before execute line:3, a=,b=,c=' before execute line:3, a=,b=,c= + a=1 ++ echo 'before execute line:4, a=1,b=,c=' before execute line:4, a=1,b=,c= + '[' 1 -eq 1 ']' ++ echo 'before execute line:6, a=1,b=,c=' before execute line:6, a=1,b=,c= + b=2 ++ echo 'before execute line:10, a=1,b=2,c=' before execute line:10, a=1,b=2,c= + c=3 ++ echo 'before execute line:11, a=1,b=2,c=3' before execute line:11, a=1,b=2,c=3 + echo end end

        在上面的結果中,前面有“+”號的行是shell腳本實際執行的命令,前面有“++”號的行是執行trap機制中指定的命令,其它的行則是輸出信息。

        shell 的執行選項除了可以在啟動shell時指定外,亦可在腳本中用set命令來指定。 "set -參數"表示啟用某選項,"set +參數"表示關閉某選項。有時候我們并不需要在啟動時用"-x"選項來跟蹤所有的命令行,這時我們可以在腳本中使用set命令,如以下腳本片段所示:

      set -x    #啟動"-x"選項  要跟蹤的程序段  set +x     #關閉"-x"選項

        set命令同樣可以使用上一節中介紹的調試鉤子—DEBUG函數來調用,這樣可以避免腳本交付使用時刪除這些調試語句的麻煩,如以下腳本片段所示:

      DEBUG set -x    #啟動"-x"選項  要跟蹤的程序段  DEBUG set +x    #關閉"-x"選項

        四. 對"-x"選項的增強

        "-x" 執行選項是目前最常用的跟蹤和調試shell腳本的手段,但其輸出的調試信息僅限于進行變量替換之后的每一條實際執行的命令以及行首的一個"+"號提示 符,居然連行號這樣的重要信息都沒有,對于復雜的shell腳本的調試來說,還是非常的不方便。幸運的是,我們可以巧妙地利用shell內置的一些環境變 量來增強"-x"選項的輸出信息,下面先介紹幾個shell內置的環境變量:

        $LINENO

        代表shell腳本的當前行號,類似于C語言中的內置宏__LINE__

        $FUNCNAME

        函數的名字,類似于C語言中的內置宏__func__,但宏__func__只能代表當前所在的函數名,而$FUNCNAME的功能更強大,它是一個數組變量,其中包含了整個調用鏈上所有的函數的名字,故變量${FUNCNAME[0]}代表shell腳本當前正在執行的函數的名字,而變量${FUNCNAME[1]}則代表調用函數${FUNCNAME[0]}的函數的名字,余者可以依此類推。

        $PS4

        主提示符變量$PS1和第二級提示符變量$PS2比較常見,但很少有人注意到第四級提示符變量$PS4的作用。我們知道使用“-x”執行選項將會顯示shell腳本中每一條實際執行過的命令,而$PS4的值將被顯示在“-x”選項輸出的每一條命令的前面。在Bash Shell中,缺省的$PS4的值是"+"號。(現在知道為什么使用"-x"選項時,輸出的命令前面有一個"+"號了吧?)。

        利用$PS4這一特性,通過使用一些內置變量來重定義$PS4的值,我們就可以增強"-x"選項的輸出信息。例如先執行export PS4='+{$LINENO:${FUNCNAME[0]}} ', 然后再使用“-x”選項來執行腳本,就能在每一條實際執行的命令前面顯示其行號以及所屬的函數名。

        以下是一個存在bug的shell腳本的示例,本文將用此腳本來示范如何用“-n”以及增強的“-x”執行選項來調試shell腳本。這個腳本中定義了一個函數isRoot(),用于判斷當前用戶是不是root用戶,如果不是,則中止腳本的執行

      $ cat –n exp4.sh      1  #!/bin/bash      2  isRoot()      3  {      4         if [ "$UID" -ne 0 ]      5                  return 1      6          else     7                  return 0      8          fi      9  }     10  isRoot     11 if ["$?" -ne 0 ]     12  then     13          echo "Must be root to run this script"     14          exit 1     15  else     16          echo "welcome root user"     17          #do something     18  fi

        首先執行sh –n exp4.sh來進行語法檢查,輸出如下:

      $ sh –n exp4.sh exp4.sh: line 6: syntax error near unexpected token `else' exp4.sh: line 6: `      else'

        發現了一個語法錯誤,通過仔細檢查第6行前后的命令,我們發現是第4行的if語句缺少then關鍵字引起的(寫慣了C程序的人很容易犯這個錯誤)。我們可以把第4行修改為if [ "$UID" -ne 0 ]; then來修正這個錯誤。再次運行sh –n exp4.sh來進行語法檢查,沒有再報告錯誤。接下來就可以實際執行這個腳本了,執行結果如下:

      $ sh exp4.sh exp2.sh: line 11: [1: command not found welcome root user

        盡管腳本沒有語法錯誤了,在執行時卻又報告了錯誤。錯誤信息還非常奇怪“[1: command not found”。現在我們可以試試定制$PS4的值,并使用“-x”選項來跟蹤:

      $ export PS4='+{$LINENO:${FUNCNAME[0]}} ' $ sh –x exp4.sh +{10:} isRoot +{4:isRoot} '[' 503 -ne 0 ']' +{5:isRoot} return 1 +{11:} '[1' -ne 0 ']' exp4.sh: line 11: [1: command not found +{16:} echo 'welcome root user' welcome root user

        從輸出結果中,我們可以看到腳本實際被執行的語句,該語句的行號以及所屬的函數名也被打印出來,從中可以清楚的分析出腳本的執行軌跡以及所調用的函數的內部執行情況。由于執行時是第11行報錯,這是一個if語句,我們對比分析一下同為if語句的第4行的跟蹤結果:

      +{4:isRoot} '[' 503 -ne 0 ']' +{11:} '[1' -ne 0 ']'

        可知由于第11行的[號后面缺少了一個空格,導致[號與緊挨它的變量$?的值1被shell解釋器看作了一個整體,并試著把這個整體視為一個命令來執行,故有“[1: command not found”這樣的錯誤提示。只需在[號后面插入一個空格就一切正常了。

        shell中還有其它一些對調試有幫助的內置變量,比如在Bash Shell中還有BASH_SOURCE, BASH_SUBSHELL等一批對調試有幫助的內置變量,您可以通過man sh或man bash來查看,然后根據您的調試目的,使用這些內置變量來定制$PS4,從而達到增強“-x”選項的輸出信息的目的。

        五. 總結

        現在讓我們來總結一下調試shell腳本的過程:

        首先使用“-n”選項檢查語法錯誤,然后使用“-x”選項跟蹤腳本的執行,使用“-x”選項之前,別忘了先定制PS4變量的值來增強“-x”選 項的輸出信息,至少應該令其輸出行號信息(先執行export PS4='+[$LINENO]',更一勞永逸的辦法是將這條語句加到您用戶主目錄的.bash_profile文件中去),這將使你的調試之旅更輕松。 也可以利用trap,調試鉤子等手段輸出關鍵調試信息,快速縮小排查錯誤的范圍,并在腳本中使用“set -x”及“set +x”對 某些代碼塊進行重點跟蹤。這樣多種手段齊下,相信您已經可以比較輕松地抓出您的shell腳本中的臭蟲了。如果您的腳本足夠復雜,還需要更強的調試能力, 可以使用shell調試器bashdb,這是一個類似于GDB的調試工具,可以完成對shell腳本的斷點設置,單步執行,變量觀察等許多功能,使用 bashdb對閱讀和理解復雜的shell腳本也會大有裨益。關于bashdb的安裝和使用,不屬于本文范圍,您可參閱 http://bashdb.sourceforge.net/上的文檔并下載試用。

      【Shell腳本調試技術】相關文章:

      AutoCAD腳本制作10-27

      影視廣告的腳本創作08-26

      Linux shell常用命令匯總10-26

      ASP腳本循環語句詳細教學01-23

      電影電視分鏡頭腳本格式09-23

      Linux系統shell工具打印輸出12-26

      Linux Shell文本處理工具10-08

      游戲中實現腳本控制的干貨分享07-24

      聲卡怎么調試01-11

      數控機床對于安裝和調試階段有什么技術要求?06-18

      主站蜘蛛池模板: 狂飙在线观看全集免费播放| 三德和尚与舂米六免费观看| 国风按摩院第三部| 异形夺命| 万家灯火养生2013| 灰姑娘1977满天星原版| 南北少林电影| 高清《快乐到死》电影| 男生女生一愁愁愁电视剧在线观30分钟 | 中文字Dl幕岳 和女胥友田在线 | 黄沙战神| 一起愁愁愁在线观看免费高清 | 人猿泰山1995意大利在线观看完整满天星| 透析 电影| 地下室骑马| 五号特工组 电视剧| 朱日和军演牺牲600人| 打工人电影免费观看中文版| 新红楼梦主题曲| 男儿当自强 粤语| 善良的嫂子2电影| 《最高の爱人诏》解说| 夜闯寡妇村 电影| 浮之公9高清在线观看| 都挺好免费全集在线观看| 《别有用心的妻子》| 天才枪手 电影| xl司令在线观看免费高清全集无删减| 罕见四胞胎排排睡| 混战两姐妹电影版免费观看| 大秦赋全集在线观看免费| 关人七事片尾曲| 苹果电影完整版在| 名侦探柯南:独眼的残像| 新金银悔1一5普通话版剧情介绍 | 绝密卧底电视剧免费观看| 高清《天国与地狱》电影| 少年派 下载| 邓丽君演唱会下载| 斗罗大陆2绝世唐门免费观看第四季| 特邀送货员在线播放| 当哒当:邪视电影| 华丽上班族西瓜影音| 辉南县| 篮球火12| 男人女人一愁愁愁全集免费看| 李小环与苗翠花| 法国护士长2006| 无人高清电视剧| 理发店里的特殊待遇在线 | 邵氏《女儿国》满天星| 电视连续剧西游记86版全集播放| 男生女生愁愁愁愁愁愁在线电视剧| 情侣之夜| 《法国空乘4》在线观看外国色情电影 | 女生亲嘴| 《军事不当行为》在线观看| 致命对决 电影| 牙医姐妹赤子板栗无删减版电视剧 | 电影 奋斗| 朋友的姐姐4线在完整中字| 缘之空 在线观看| 大山的女儿电视剧| 谢雕英雄传| 武松与潘金莲电影版| 美国禁忌睫毛膏4完整版| 中国机长免费观看| 女版《壮志凌云》伦理| 山丹丹开花红艳艳简谱| 九品芝麻官粤语高清| 行尸走肉第二季09全| 人生路不熟电影免费观看完整版| 男生和女生在一起愁愁愁电视剧在线观看30集 | 爱回家433| 侠之大者完整版免费观看| 我女友的母亲ID中字| 猎狼者 电视剧| TOTAKKAHAYAKIRGUZUX| 王凯主演的电视剧大全(全部)| 聊斋:兰若寺在线观看| 我不是神仙啊| 网页版权符号| 贫女复仇记满天星版1| 东北二人转正戏| 天海翼搜查官在线| 妻子的秘密教学动漫| 我女友的妈妈id中字女主角是谁扮演的 | 高朋满座近义词| 度华年全40集免费观看| 倪大红版林海雪原免费观看| 金银悔6-10集普通话版| 爱的罗曼史吉他简谱| 《妻子被下春药在线》| 将门嫡女沙场:不输男儿郎短剧全集| 法国满天星《顶级飞行员》的导演和 | 电影美容院特殊待遇观看 | 明星有戏寻找唢呐王| 辣妹子电视剧免费播放| 同事三分亲国语全集| 甜蜜惩罚免费观看第一季全集| 新白发魔女传大结局| 斯巴达女勇士HR版| 张大仙全球首吐| 丰满的女学生电影| 就爱小姐姐| 满天星HD版女超人在线| 国王的勇士3| 时光大盗| 迟志强歌曲| 三月女郎| 甜心派电视剧泰剧无删减在线观看| 大院子女全集免费| 莫妮卡爱我几何全集免费看| 完整的恶魔之眼| 妻子1完整高清电视剧| 传闻中的七公主国语版全集高清| 少女高清在线看动漫视频| 女员工的滋味2| 金钱帝国国语| 意大利《激战丛林》电影免费观看| 原以为大家不以貌取人全集观看 | 善良的女秘书免费| 加勒比海盗成人在线观看 | 瓢虫贝贝| 战狼6大牛老黑免费观看| 黎明之战电视剧| 斗龙战士9| 垚怎么读| 情满雪阳花电视剧全集| 美姐妹牙医电影完整版| 沈腾回应生病传闻| 日本战狼6国语| 姐姐妹妹站起来舞蹈| 私人女监狱| 瞬息全宇宙| 法国监狱女狱警2免费观看 | 霍家拳之铁臂娇娃电影完整版| 灵幻新娘| psycho-pass第二季| 牧神记39集免费观看| 成化十四年电视剧免费观看| 孤注一掷高清HD在线播放| 敢死队1电影| 爸爸的种子播种2啥时候播| 白头神探:智斗灭世狂人电影| 坠落的女律师完整版在线观看 | 忍者一时| 铁拳无敌高清完整版在线观看| 未来妈妈电视剧免费观看全集高清| 《特殊的治疗》中字| 冰女的故事| 蒋玲玲版《渔夫荒淫史在线观看 | 女超人麦乐迪电影完整版在线观看| 刷子李课件| 台湾版棘手狂情1982的版权声明| 辘轳女人和井全26集| 绝世红颜短剧全集免费观看| 卢旺达的玫瑰完整版免费观看| 唐璜的回忆| 职场晋升的妻子职场2剧情| 侏罗纪公园满天星免费观看| 《法国空乘4:满天星》| 高清《两架钢琴》电影| 年代剧《小巷人家》 | 再见了悲伤| 天空战记国语| 大胸电影| 千年迷局| 印度电视剧新娘国语版全部| 哈哈哈哈哈第5季免费| 忠义群英国语| 我的肉欲继拇| 顺治皇帝出家偈| 金珠恩满天星三部曲免费观看| 买醉什么意思| 克罗斯凯登电影作品| 满江红电影张艺谋免费观看?| 小凤新婚下在线观看免费版| 全面追缉令| 越南版的《性的暴行》电影| 阿甘正传 电影| 金银梅5一10普通话更新| 白发魔女练霓裳| 能帮我弄干净吗?电视剧| 请成为我的家人在线观看| 未央是什么意思| 美味飞行(H5)| 老师好在线观看| 黑白配HD1080完整版高清一| 超能机器女友| 壮志凌云成 2011版| 硬汉1下载| 三边坡是哪个国家| 解剖尸体| 星克莱尔《迷宫》在线观看| 人间正道是沧桑多少集| 险恶的绣感| 红楼春上春下载| 笨女孩在线观看免费完整版| 派克式左轮| 一出好戏结局| 末日飞船| 望京一号| 超能姐姐大作战| 丰满的乳| 高清楠木邸的神明庭院| 艳姆 动漫| 夺命金免费| 民间怪谈录在线观看| 我的世界叶枫| 东厂西厂短剧全集免费播放| 猎战狂徒电影| 史泰龙最新电影 | 搞笑一家人国语配音| 丁度巴拉斯肉蔻之香免费在线观看 | 堀与宫村第一季| 校园大逃杀| 女超人在线完整版| 乡村爱情8西瓜影音| 男人女人愁愁愁免费看电视剧| 高清《女囚》电影| 插曲的痛60全集免费观看高清版校园青春 | 德国炸毁最现代化电厂| 《熟睡侵犯》完整版| 《裸体新闻》在线观看| 凯登克劳斯电影大全| 不怕开水烫| 古墓丽影山寨版免费观看 | 电影韩国太太的告白| 在厨房被躁了2个小时电影| 紧扣的星星动漫| 安吉拉·怀特在线观看| 善良的嫂子在线视频| 牙医姐妹高清完整版在线观看| 大头儿子小头爸爸1| 透视安吉拉怀特版| 行尸走肉第二季第二集| 北条麻妃熟女在线观看AV| 磁碟机病毒| 《甲种公牛》意大利| 乌云之上| 法国高压监狱伦理3 | 《熟睡侵犯》完整版| 《红杏出墙记》| 《大学生按摩在线观看| 一年级大结局下| 插曲的痛30分免费播放| 独身向前| 今夜无人入睡观看完整版| 甜蜜惩罚2我是看守专用宠物| 美国电影《需要爸爸播种》| 立体文眉| 白娘子传奇主题曲| 太湖县| 卸岭秘录电影免费观看| 内地版流星花园| 游轮大浩劫| 什么是根浴| 李贞贤换男人| 燕子李三传奇电视剧| 穿越古代:风生水起全集免费| 刀光枪影电视剧| 戴拿奥特曼在线观看| 韩剧高清在线播放免费| 姐妹牙医电影完整版在线观看| 倩女幽魂电影在线观看免费完整版| 铿锵锵锵免费观看电视剧大全2023 | 地球脸红了| 霹雳布袋戏刀龙传说| 女婿有劲枪枪到底岳峰扮演者| 厨房激情3日本| 《我的初恋不可能是姐姐》| 酒店2| 贝雷帽钩织教程视频 | 满分追爱公式| 微微一笑很倾城超清版免费观看| 朱塞佩 托纳多雷| 《新武则天外传》| soe-992| 金基范段誉| 《女超人》2013麦乐迪视频| 《嘻嘻嘻嘻吸血鬼》| 玄女心经3高清| 道师爷3电影在线观看完整版| 欧美日韩电影维修工的艳遇2| 我的公主国语| 21世纪性格爱情指南免费| 人猿泰山1995版未删减版电视剧免费观| 极速60秒| 《维修人员的培训》全集完整版免费| 影子爱人电影| 电影营销技巧未删减巴西 | 痛的插曲的免费高清完整版| 云海翻腾孙悟空11| 做aj的视频大全电视剧| 李云龙楚云飞扮演者再同框| 电影《需要播种》在线看| 巴黎恋人国语版全集| 爱我几何免费完整版| 黑雾电视剧免费观看完整版| 从江县| 财经郎眼2016| 朋友换娶妻1完整版中文| 爱情睡醒了40| 《奔跑吧13》免费观看| 电影美容院特殊待遇观看 | 黑暗的反射| 恋之欲室| 苍老师10部必看经典电影| 纸牌屋 第三季| 江波亮电影大全在线观看| 高清战旗如画未删减| 《麦乐迪女超人》正版在线观看| 赤子之心电视剧| 七天电影| 李碧华鬼魅系列:迷离夜| 雪中悍刀行31集在线观看 | 坎贝奇《无憾》完整版在线观看 | 甜蜜再恋第二部全集| 《活着》电影完整版| 一夜不了情| 借爸爸的种子(美囯版)| 望月加奈| 插曲的疼| 拜托了老师全集| 好想和你在一起24集免费观看| 冲锋电影| 窥视之眸| 《高压监狱2在》完整版法国免费看 | 五味人生| 啥事佩奇| 皇家奶娘碰碰| 小call 宅之小恶魔| 需要爸爸来播种在线观看| 《主播女孩重度依赖》| 《示范销售避孕套》剧情介绍 | 和部长一起出差在线播放| 国产真人做爰免费视频| 做aj免费国语版电视剧| 关于爱在线观看| 出差与部长同房希岛爱里在线电影 | 大侦探第八季免费播放| 西关大少粤语高清| 快乐时光电影完整版免费观看| jiqingwang| 动漫xlx| 赵本山小品相亲2| 一起愁愁愁免费高清看| 复制娇妻下载| 金瓶梅电视剧免费观看全集在线天才酷客游戏法是 | 金连梅1-5普通话| 奔跑吧 综艺| 阿凡达 国语| 超级战舰国语版| 爱的套索| 激战丛林hd版意大利| 忠者无敌高清电视剧全集免费观看| 15yc电影电视剧| 玄好心经9| 落落历险记| 整鱼两吃| 翁虹电影全集| 潜伏40集免费版播放| 污污污双人调情按摩术免费在线播放| 熊熊乐园2| 《美国式禁忌3》中文| 电影法国空乘2019满天星法版| 漂亮的女朋友5| 妖怪名单第二季| 纯真年代| 瑞幸咖啡线下点单存价差| 欲百度影音| 女版战狼6全集高清免费看| 寒战2电影| 兄弟的老婆8免费观看电视剧下载| 咱们结婚吧mp4下载| 逆转女王剧情| 特种兵之火凤凰62| 克隆人的进攻| 牙医姐妹完整版观看| 双子星公主 第一部| 女超人法国电影完整在线观看| 浏阳河歌曲| 九五至尊粤语| 紧张刺激的1V2| 韩寒中文网| 《亲密现实2》凯老师演技| 魔女宅急便电影| 牙医郝板栗未删减版| 我是谁电视剧36集完整版| 爱情里面谁怕谁| 刘伟元的旅行| 指环王2:双塔奇兵免费| 电影《香醇的绣感》在线观看 | 边城破晓| 四个少妇按摩记A片| 利刃出鞘3电影| 《美丽女儿替父亲还债》剧情电影电 | 电影强奸| 英姿飒爽是什么意思| 美国女超人满天星免费观看完整版 | 乘风2024免费观看完整| 喜羊羊和灰太狼之决战次时代| 《法国护士长》在线| 当头炮的走法| 战狼9欧式少女在线观看全集高清美国 | 凶间疑影| 唐案1990高清免费观看| 我的灿烂人生韩剧| 汤唯现身烧烤店 店主狂喜| 男生女生一愁愁愁在线观看大片| 亲爱的你电视剧免费观看完整版| 爱唯侦察| 秀才遇着兵粤语| 交换完美邻居HD| 美国女大兵的艳遇2| 五十度灰高清完整版电影| 15yc| 遥远的距离大结局| 空盆来蛇| 假面骑士所有骑士| 陆小凤之大金鹏王| 被义子侵犯的继拇在线观看| 东边日出西边雨电视剧| 泗水县| 棺材传说| 釜山行西瓜影音| 正在播放: 【传媒】《小凤新婚》下集-高冷新妻性奴 - 91n | 寒战2电影| 丈夫不在部长来家做客| 和社长一起去出差旅行的日子中文版| 马向阳下乡记全集| 5G天天奭5G天天运动快点播| 远离人群的地方| 丈夫让妻子陪上司吃饭| 电视剧铁腕行动| 昆明辟谣城投专家会议纪要| 怀玉公主全集优酷| 喜人奇妙夜第二季在线观看| 3d柔铺团之极乐鉴宝| 渗透全集| 女儿国满天星版 美国| 清冷美人被c哭着爬走回来挺进h| 弃女重生:邪王追妻全集免费| 女员工的付出中字5| 少年包青天2部| 歼灭天际线1-66集免费酒店的女人 | 漂亮的小姨韩剧免费观看完整版电视剧中文版| 疯狂的外星人免费完整电影高清| 功夫吉他| 艰难爱情21| 美国消防宝贝在线观看| 法国满天星《古墓丽影》在线观看高清免费 | 我的教师生涯 电影| 叶罗丽精灵梦第八季免费观看 | 陈冠希道歉| 《神探狄仁杰2》电视剧| 战狼6超清免费观看| 小sao货几天没c水就这么多| 西丰县| 高校教师1985剧本免费| 三度诱惑| 女员工的特殊待遇| 含泪活着下载| 扎导剪辑版《正义联盟》| 俄罗斯hd| 代表建议严炒作网红儿童账号| 年经继4| 刘洋金牌 邹敬园银牌| 新济公活佛电视剧| 雪中悍刀行电视剧免费观看全集| 苍蝇之母电影| 麦乐迪马克斯女超人满天星播放| 乡下 乱 仑| 朋友换娶妻2完整版| 许愿神龙在线观看| 十二生肖电视剧| 浪漫女教师之黛比系列| 新猛龙过江| 女按摩师2004未删减版| 经营婚姻电视剧全集| 代号麻雀| 沙漠行动2007俄罗斯满天星| 白峰美羽在线视频| 大秦帝国 纵横| 总之就是非常可爱第二季免费观看| 私密按摩师免费高清电影| 《刀尖》在线观看| 好妈妈中文6字开头| 哔哩哔哩高清免费观看| 拉芙蕾丝| 水川堇被义子侵犯无删减在线播放| 男生和女生在一起愁愁愁电视剧在线观30集| 古见同学有交流障碍症第二季 | 锵锵锵完整版在线观看高清完整版| 请回答1988第10集| 湄公河行动电影| 牙医郝板栗未删减版| 《西虹市首富》电影| 别有用心的单身女韩剧免费观看国语 | 仙武传在线免费观看| 莱纳安德森《满天星》完整版在线观看 | 郝板栗电影免费观看| 妻子的秘密韩国电视剧| 流光飞舞粤语| 壮云凌志在线观看满天星| 旗开得胜集体舞| 灰姑娘 2015 电影| 高清忒弥斯的不确定法庭| 伊波拉病毒国语版| 《种马3》电影免费观看| 郑中基 无赖| 电影《戴恩的爱情故事》免费播放| 《老舅》电视剧免费观看| 越狱兔第5季| 《金牌销售的秘密| 和尚的一场梦电影速度看高清| 《通往你的地图》| 《落魄贵族》1-4集免费观看 | 非正式爱情| 情义英雄武二郎| 肉欲横流| 恶作剧之吻1下载| 《美容院1:特殊待遇》| 枪神燕双鹰| 北斋漫画在线观看完整版| 金银瓶1-5国语普通话2 | 过气明星:复出即顶流全集免费 | 脑电波扫描仪| 粉红色大白菜言情片| 特约外卖员| 全明星solo| 邓紫棋深圳演唱会| 国家宝藏4| 人妻初次按摩2| 粉红女郎完整版免费观看| 不能说的秘密电影完整版| 加勒比女海盗在线| 亲吻姐姐4| 被害女大学生男友多次演练杀害计划| 《新人类之毒医肥尸2》在线播放 变形金刚7国语HD免费完整版80 | 韩国电影《丰满女朋友》| 再次出发| 满天星电影女超人在线观看完整免费| 绝望的主妇第八季| 折腰电视剧全集高清免费观看| 高清《母爱食堂》电影| 机械战警1| 电影《需要爸爸的种子》演员表| 朱智勋主演的电视剧| 电视剧决战江桥全集免费观看 | 龙珠大魔免费观看| 混血的摇篮曲| 突然的喜欢在线观看免费完整版| 不思议游戏国语版| 我一边做饭一边被躁了男男| 监狱不设防百度影音| 别墅轮换4攻略完整版| 万物生长| 全职法师第6季全集免费观看| HD版《激战丛林》完整版播放_百度搜| 余罪全56集| 哎呀我愿意全集| 哇嘎电影免费观看国语高清 | 法国超人麦乐迪在线观看| 千王之王谢贤版| 韩剧童颜美女| 我的幸福婚约| 夏天全集在线观看免费| 女版战狼12免费观看999战狼7| 我如此爱你 王凯琪| 地牢女孩在线观看完整版高清| 他来自胡志明市| 李月华主演的电影在线看| 偷偷藏不住免费完整版电视剧| 《沟壑难填》| 伦敦奥运会男子篮球决赛| 好妈妈高清在线播放中文| 爱我几何无减版在线看| 高清聊斋:兰若寺未删减| 道士下山免费完整版在线观看 | 视频在线看| 房探007登录| 男生女生一起相愁电视剧在线观看| 二叔剧情介绍| 回响电视剧在线观看全集免费| OV义姐是不是良妈妈授的动漫完整版| 山河令35集免费看| 养母电视剧| 《特殊的女保险推销员》| 家常菜全集| 幻影忍者全集| 需要爸爸播种籽2演员名字| 《课外辅导女教师》电视剧| 教室别恋百度影音| 黛比浪漫女家教国语全集| 怒江之战全集免费播放| 阳光卫视 子夜| 和部长出差电影| 最佳爱情国语版全集| 韩国电影《美人》| 义姐是不是良妈妈动画片| 代号九耳犬电视剧全集免费观看| 与父同行 泰联网| 入室强奸的三级片| 忘年恋曲电影| 后宫动漫免费全集观看完整版| 木下檀檀子免费观看平台| 苍井空的影片| 斗战神腾讯爱玩| 总统之夜1997法国版第一季 | 破晓之爱| 上司来我家做客 完整版| 恶妻的诱惑| 大江大河第三部免费播放| 维修工人的艳遇在线| 泽连斯基言论惹怒美国民众| 国语版A片年轻的母亲| 巨茎插入李淑芬体内视频| 日剧《消失的妻子》| 龙之家族第二季| 俄罗斯美女| 亲爱的热爱的2| 舞力对决国语| 奸魔| 艾斯奥特曼中文版| 新版寒冰出装| 小凤新婚台湾版| 蔷薇风暴电视剧完整版在线观看| 午夜寂寞影院安卓| 宇宙星神全集2| 海底总动员2:多莉去哪儿 电影| mm的职业2免费观看完整版电影| 《赶尸艳谈》无删减版| 宴遇永安 电视剧 在线观看| 女护卫三级片视频| 烂滚夫斗烂滚妻 粤语| 娱乐百分百20120122| 需要爸爸的种| 《鬼咬鬼》高清国语版| 苍南 城管| 特殊精华油5HD| 寂寞欢场| 地狱奶奶| 满天星《牛仔》完整版| 特别使命电视剧全集免费观看| 高清《朱音落语》电视剧| 白水县| 异世邪君520| 无心法师 电视剧| 角斗英雄| 家属无码动漫| 身材最好的女明星| 火影忍者疾风传518| 1995激战丛林洛可·希佛帝| 秘密潜入1中文版| 夺命巨鲨| 中文字Dl幕岳和| 一门三司令| 小东西逃跑是要受到惩罚的| 韩国女RAPPERDISS大战| 三女大学按摩在线观看免费| 吞噬星空动漫免费| 近距离爱上你电视剧全集在线观看| 女战狼10免费高清资源| 电影《姐妹花》免费观看国语| 密室大逃脱第六季在线免费观看 | 电视剧游击兵工厂| 地铁笨蛋6| 电影《牙医姐妹》1986年在线| 燃烧大地| 情陷夜中环吻戏| 西班牙电影《掌中之物》| 高清《与讨厌的姐姐超契合》结局| 《偿还3》完整版| 吴江市| 咱俩结婚吧电视剧| 妖精的尾巴45| 豪门恩怨| 奇怪的美容院2 女主角是谁| 爱情公寓3 12| 30而已| 女律师的坠落| 吉普赛人美剧| 评书岳飞传刘兰芳| 高清以猫饲爱| 黑白配中文在线观看免费高清电影 | 翁虹版《一代妖后》| 速度与激情9 高清在线播放| 法国空姐6大结局| 密宗威龙国语完整版| 高清正在缩小的男人| 《偷香》电影在线观看| 伊波拉病毒1-3三部| 鉴宝狂少:捡漏我是专业的短剧全集| 特殊争夺在线观看| 锕锵锵锵铜铜铜铜免费| 花开有声电视剧全集 | 《爱我几何》法国完整版| 爱情几何完整版| 弦子 沿海地带| 河马打针后找饲养员求安慰| 战狼欧美版免费观看完整版战狼6| 人间世第十集| 湖南经视故事会| 意大利《激战丛林》完整版在线观看| 婚姻攻略免费观看全集| 郭芯如和郭德纲什么关系| 箱中女在线观看| 夫人的侄子意大利| 东方之珠之风流家族| 地狱默示录| 欧美成人版电影荣誉守则在线观看 | 奔跑吧兄弟第10季免费观看完整版| 《绝版渔夫荒淫史》| 韩剧拥抱太阳的月亮| 365情| 婚巢 电视剧| 有菜电影在线播放| 欲望保姆电影完整版看| 愤怒的她短剧免费观看| 《酒店V》第一季在线观看| 还珠格格第1部全集| 替天行道之杀兄电影| 怪医文三块电视剧免费完整版| 刚结婚陪部长出差的日剧叫什么| 螺丝钉动画片| 我的美女房东免费观看| 毒医肥尸1999国语版| 606电影网| 电视剧海天之恋| 鬼水怪谈| 荒井小姐的秘密生活日剧全集| 韩剧《双面女人》| 火柴女孩| k8s经典手机经典版免费观看| 黑帮大佬和我365天第二部在线| 爱情公寓在线观看完整版免费| 哦吼小闪电的真名叫什么| 灭火宝贝2美版| 扫黑风暴在线播放免费完整版 | 小欢喜全集免费观看| 奇怪的美容院2的完整| 螺丝钉动画片| 名侦探柯南620| 坠落的女律师| 沐浴之王免费观看完整版| 好迪代言人李玟| 激情片段| 公浮之手中字2023最新版 | 战狼六欧式少女版资源| 痰多最怕一味药| 无间免费观看40集全集| 力王之王国语免费观看完整版| 《混血的摇篮曲》日本 | 永夜星河电视剧高清免费| 麦乐迪-女超人| 《重启》| 浮生影视在线观看高清免费| 战狼6双人版高清免费观看| 桑德拉·拉索经典电影| 年轻的母亲韩剧电视剧全集| 《妻子的视频》2017| 大学生创业沙龙2| 《听话女仆》动漫在线看全集免费| 高清《妥协》短剧免费观看| 彡怎么读| 女超人麦乐迪满天星版本| 极速恋人中泰剧14集特别篇| 康熙来了停播| 桑德拉《满天星》| 《龙门飞甲》| 最后的深爱韩国电影| 黑白配高清完整版| 日本jizzcom| 马克思 马努斯| 好汉两个半第10季| 三年大片在线免费观看 | 沉香如屑在线观看免费| 美姐妹牙医在线电影观看完整版高清 | 多田有花在线观看| 鬼女魔咒| 消失的爱人| 长安如梦电视剧免费观看完整版| 电影《贝拉1980》在线观看| 惊天核网国语版| 延禧攻略69集| 淮河流域图| 我和房东在做爰电影| 年轻的嫂子正版在线观看| 6708杏色水蜜桃| 杀人度假屋| 职场晋升的妻子职场2剧情| 魔鬼终结者4| 平凡的世界电影| 哈利·波特电影全集免费观看| 愁男女免费视频| 电影十日谈| 都市修真全集免费| 擦肩而过 李圣杰| 邵氏《女儿国》满天星 | 丰满的妽妽2在线播放| s与m 电影| 漂亮女人的日记| 电影蜜桃成熟时33d| 战狼10高清国语免费播放西瓜影院视频| 人间世第十集| 死神千年血战第二季免费观看| 国足破门被吹越位| 丰满的继拇| 中国高清观看免费观看| 暴露5美国版| 强吻还拉丝| 电影《爱上女闺蜜》播放| 电影《恶行》在线观看| 假面 韩国| 我的刑警朋友| 电视剧包青天| 白蛇传说粤语| 枝村电影| 命运自选台| 泰剧乱点鸳鸯谱| 听风者 在线观看| 大田县| 埃及满天星1982| 电视剧大考| 电视剧淬火年代全集免费观看| 姐姐的朋友在线观看免费完中文整版 | 凌云壮志(欧美)满天星| 与部长出差的日子电影| 袁隆平去世降半旗| 熊出没之夺宝熊兵电影| 电影《无憾》坎贝奇| 《麦乐迪女超人》|麦乐迪| 马云谈台湾问题| 美少女战士中文版| 土豆美容护肤小窍门| 法国版女超人麦乐迪电影在线观 | 冀天海免费观看| 盛夏晚晴天优酷| 斗破苍穹182集在线观看免费| 麦田 范冰冰| 秋瓷炫生死决断完整版| 两座山俄剧| 勇敢的心电视剧全集在线观看76 | 校花隔壁的流川枫| 《正义联盟2》电影| 守护者联盟| 梦中的妈妈原唱歌曲| 她被搬运工侵犯免费观看| 鹿鼎记2粤语|