黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

UNIX SHELL腳本編程

瀏覽:5日期:2024-06-11 17:38:13

<<<目錄>>> □前言

□將文字檔設為可執行的Shell Script

□Script的基本結構及觀念

□Bourne Shell

一、變數

二、執行命令

三、流程控制

□C Shell

一、變數

二、執行命令

三、流程控制

□附錄A expr命令

□附錄B test命令

□前言

在Dos 中,你可能會從事一些例行的重覆性工作,此時你會將這些重覆性的命令寫 成批次檔,只要執行這個批次檔就等於執行這些命令。大家會問在Unix中是否有批次處 理這個東東,答案是有的。在UNIX中不只有如DOS 的批次處理,它的功能比起DOS 更強 大,相對地也較復雜,已經和一般的高階語言不相上下。在UNIX中大家都不叫做批次檔 ,而叫做Shell Script。

一般而言,Shell Script的地位和其它的可執行檔(或命令)是完全相同的,只不 過Shell Script是以文字檔的方式儲存,而非二進位檔。而執行Shell Script時,必須 有一個程式將其內容轉成一道道的命令執行,而這個程式其實就是Shell ,這也就是為 什麼我們叫做Shell Script的原因(往後我們稱為Script)。不同Shell 的Script基本 上會有一些差異,所以我們不能將寫給A shell 的Script用B shell 執行。而在UNIX中 大家最常使用Bourne Shell以及C Shell ,所以這堂課就介紹這兩種Script的寫法。

□將文字檔設為可執行的Shell Script

如果我們已經寫好Script,如何將其設成可執行檔呢?因為Script其實是一個可執 行檔,所以必須將其存取權設定成可執行。我們可以使用下列命令更改存取權:

chmod u+x filename 只有自己可以執行,其它人不能執行

chmod ug+x filename 只有自己以及同一群可以執行,其它人不能執行

chmod +x filename 所有人都可以執行

而我們如何指定使用那一個Shell 來解釋所寫的Script呢?幾種基本的指定方式如 下所述:

1. 如果Script的第一個非空白字元不是'#',則它會使用Bourne Shell。

2. 如果Script的第一個非空白字元是'#'時,但不以'#!'開頭時,則它會使用C Shell。

3. 如果Script以'#!'開頭,則'#!'後面所寫的就是所使用的Shell,而且要將整個路徑 名稱指出來。這里建議使用第三種方式指定Shell ,以確保所執行的就是所要的。Bourne Shell的路 徑名稱為/bin/sh ,而C Shell 則為/bin/csh。

除了在Script內指定所使用的Shell 外,你也可以在命令列中強制指定。比如你要 用C Shell 執行某個Script,你可以下這個命令:

csh filename

此時的Script的存取權就不一定要為可執行檔,其內部所指定的Shell 也會無效,詳細 的情形後面會討論。

□Script的基本結構及觀念 Script是以行為單位,我們所寫的Script會被分解成一行一行來執行。而每一行可 以是命令、注解、或是流程控制指令等。如果某一行尚未完成,可以在行末加上'' , 這個時候下一行的內容就會接到這一行的後面,成為同一行,如下

echo the message is

too long so we have

to split it into

several lines.

當Script中出現'#' 時,再它後面的同一行文字即為注解,Shell 不會對其翻譯。

在Script中要執行一個命令的方法和在命令列中一樣,你可以前景或背景執行,執 行命令時也會需要設定一些環境變數。

Script的流程控制和一般高階語言的流程控制沒有什麼兩樣,也和高階語言一樣有 副程式。這些使得Script的功能更加強大。

為了達到與高階語言相同的效果,我們也可以在Script中設定變數,如此使Script 成為一個名付其實的高階語言。

□Bourne Shell

一、變數

Bourne Shell的變數型態只有字串變數,所以要使用數值運算則必須靠外部命令達 成目的。而其變數種類有下列幾種:

1. 使用者變數 這是最常使用的變數,我們可以任何不包含空白字元的字串來當做變數名稱。 設定變數值時則用下列方式:

var=string 取用變數時則在變數名稱前加上一'$' 號。

name=Tom

echo name

echo $name

結果如下:

name

Tom

2. 系統變數(環境變數)

和使用者變數相似,只不過此種變數會將其值傳給其所執行的命令。要將一使 用者變數設定為系統變數,只要加上:

export var

name=Tom

export name

以下是使用者一進入系統之後就已設定好的系統變數:

$HOME 使用者自己的目錄

$PATH 執行命令時所搜尋的目錄

$TZ 時區

$MAILCHECK 每隔多少秒檢查是否有新的信件

$PS1 在命令列時的提示號

$PS2 當命令尚未打完時,Shell 要求再輸入時的提示號

$MANPATH man 指令的搜尋路徑

3. 唯讀的使用者變數

和使用者變數相似,只不過這些變數不能被改變。要將使用者變數設成唯讀的 ,只要加上:

readonly var 而若只打readonly則會列出所有唯讀的變數.還有一點,系統變數不可以設定 成唯讀的。

name=Tom

readonly name

echo $name

name=John

readonly

結果如下: Tom name: is read only readonly name readonly ......

4. 特殊變數

有些變數是一開始執行Script時就會設定,并且不以加以修改,但我們不叫它 唯讀的系統變數,而叫它特殊變數(有些書會叫它唯讀的系統變數),因為這 些變數是一執行程式時就有了,況且使用者無法將一般的系統變數設定成唯讀 的。以下是一些等殊變數:

$0 這個程式的執行名字

$n 這個程式的第n個參數值,n=1..9 $* 這個程式的所有參數

$# 這個程式的參數個數

$$ 這個程式的PID $! 執行上一個背景指令的PID

$? 執行上一個指令的返回值

當你執行這個程式時的參數數目超過9 個時,我們可以使用shift 命令將參數 往前移一格,如此即可使用第10個以後的參數。除此之外,吾人可以用set 命 令改變$n及$*,方法如下:

set string 如此$*的值即為string,而分解後則會放入$n。如果set 命令後面沒有參數, 則會列出所有已經設定的變數以及其值。

檔名:ex1 參數:this is a test

echo Filename: $0

echo Arguments: $*

echo No. of args.: $#

echo 2nd arg.: $2

shift

echo No. of args.: $#

echo 2nd arg.: $2

set hello, everyone

echo Arguments: $*

echo 2nd arg.: $2

結果如下:

Filename: ex1

Arguments: this is a test No. of args.: 4

2nd arg.: is

No. of args.: 3

2nd arg.: a

Arguments: hello, everyone

2nd arg.: everyone

值得一提的是,當你想從鍵盤輸入一變數值時,你可以使用下面的命令:

read var1 var2..... 這時read會將一個字分給一個變數。如果輸入的字比變數還多,最後一個變數會將 剩下的字當成其值。如果輸入的字比變數還少,則後面的變數會設成空字串。 如果需要處理數值運算,我們可以使用expr命令。其參數及輸出列於附錄A。

二、執行命令

在Bourne Shell中有五種方法執行一個命令,而這五種方式所產生的果有些許的不 同。

1. 直接下命令 這個方式和在命令列中直接下命令的效果一樣。

2. 使用sh命令 sh command 這個檔案必須是Bourne Shell的Script,但這個檔案并不一定要設成可執行。 除此之外和直接下命令的方式一樣。

3. 使用'.'命令 . command 這時和使用sh命令相似,只不過它不像sh一般會產生新的process ,相反地, 它會在原有的process 下完成工作。

4. 使用exec命令 exec command 此時這個Script將會被所執行的命令所取代。當這個命令執行完畢之後,這個 Script也會隨之結束。

5. 使用命令替換 這是一個相當有用的方法。如果想要使某個命令的輸出成為另一個命令的參數 時,就一定要使用這個方法。我們將命令列於兩個'`' 號之間,而Shell 會以 這個命令執行後的輸出結果代替這個命令以及兩個'`' 符號。

str='Current Directory is '`pwd` echo $str

結果如下:

Current directory is /users/cc/mgtsai

這個意思是pwd 這個命令輸出'/users/cc/mgtsai',而後整個字串代替原 來的`pwd` 設定str 變數,所以str 變數的內容則會有pwd 命令的輸出。

number=`expr $number + 1` 這就是先前所提要作數值運算的方法,基本上expr命令只將運算式解,而 後輸出到標準輸出上。如果要將某變數設定成其值,非得靠命令替換的方 式不可。這個例子是將number變數的值加1 後再存回number變數。

三、流程控制 在介紹流程控制之前,我們先來看看test命令。test命令的參數是條件判斷式,當 條件為真時則傳回非零值,而條件為偽時則傳回零。在所有的流程控制都必須用到 test命令來判斷真偽。而test命令的使用方法則列於附錄B。

test $# = 0 如果執行這個程式沒有參數時,會傳回非零值代表'$# = 0'這個條件成立。反 之則會傳回零。

以下介紹各種流程控制:

1. if then 語法以及流程圖如下 語法以及流程圖如下

if(condition)

then

then-commands

fi

condition 是一個test命令。往後所介紹的各種流程中的condition 都是test 命令。

檔名:chkarg

if(test$#!=0)

then

echo Arg1:$1

fi

$ chkarg Hello

Arg1: Hello

$ chkarg $

2. if then else 語法以及流程圖如下

if(condition)

then

then-commands

else

else-commands

fi

3. if then elif 語法以及流程圖如下

if(condition1)

then

commands1

elif(condition2)

then

commands2

else

commands3

fi

echo 'Word 1: c'

read word1

echo 'word 2: c'

read word2

echo 'word 3: c'

read word3

if (test '$word1' = '$word2' -a '$word2' = '$word3')

then

echo 'Match: words 1, 2, & 3'

elif (test '$word1' = '$word2')

then

echo 'Match: words 1 & 2'

elif (test '$word1' = '$word3')

then echo 'Match: words 1 & 3'

elif (test '$word2' = '$word3')

then

echo 'Match: words 2 & 3'

else

echo 'No match'

fi

4. for in 語法以及流程圖如下

for var in arg-list

do

commands

done

for a in xx yy zz

do

echo $a

done

結果如下:

xx yy yy zz

5. for 語法以及流程圖如下

for var

do commands

done

檔名:lstarg

for a

do

echo $a

done

$lstarg xx yy zz

xx yy yy zz

6. while 語法以及流程圖如下

while (condition)

do

commands

done

number=0

while (test $number -lt 10)

do

echo '$numberc'

number=`expr $number + 1`

done

echo

結果如下: 0123456789

7. until 語法以及流程圖如下

until (condition)

do

commands

done

它和while 的不同只在於while 是在條件為真時執行回圈,而until 是在條件 為假時執行回圈。

8. break及continue 這兩者是用於for, while, until 等回圈控制下。break 會跳至done後方執行 ,而continue會跳至done執行,繼續執行回圈。

9. case 語法以及流程圖如下

case str in

pat1) commands1;;

pat2) commands2;;

pat3) commands3;;

esac

而pat 除了可以指定一些確定的字串,也可以指定字串的集合,如下

* 任意字串

? 任意字元

[abc] a, b, 或c三字元其中之一

[a-n] 從a到n的任一字元

| 多重選擇

echo 'Enter A, B, or C: c'

read letter

case $letter in

A|a) echo 'You entered A.';;

B|b) echo 'You entered B.';;

C|c) echo 'You entered C.';;

*) echo 'Not A, B, or C';;

esac

10. 函數 格式如下 function-name() { commands } 而要呼叫此函數,就像在命令列下直接下命令一般。

□C Shell C Shell 有些特性和Bourne Shell一樣,但有些不相同。這里介紹與Bourne Shell 不相同的地方。

一、變數

1. 字串變數 這個部分和Bourne Shell的變數一樣,只不過在設定變數值時不能使用Bourne Shell的方式,而必須打:

set var=value

2. 數字運算 基本上C Shell 沒有數字變數,但C Shell 卻有簡單的方法處理數字運算:

@ var operator expression

operator可以是C 語言中的=, +=, -=,......,而expression則是運算式。運 算式的運算子如下:

A. () 改變計算的順序 ~@

B. ~ 位元NOT運算 @~~ ! 邏輯否定

C. % 取馀數 C. % 取馀數 / 除 * 乘 - 減 + 加

D. >> 右移 << 左移

E. > 大於 < 小於 >= 大於等於 <= 小於等於 != 不等於 == 等於

F. & 位元AND運算 ^ 位元XOR運算 | 位元OR 運算

G. && 邏輯AND || 邏輯OR

除此之外,我們也可以檢驗一個檔案的狀態,如下

-n filename

而-n可為下列之一

-d 檔案是一個目錄檔案

-e 檔案存在

-f 檔案為一般的檔案

-o 使用者擁有這個檔案

-r 使用者可以讀取這個檔案

-w 使用者可以寫入這個檔案

-x 使用者可以執行這個檔案

-z 檔案長度為0

@ count = count + 1

@ flag = -e /users/cc/mgtsai/mail && -e /usr/spool/mail

3. 陣列

在C Shell 中,我們可以宣告陣列變數,方式如下

set var=(val1 val2 ......) 而var[1]之值為val1,var[2]之值為val2......。而$var代表整個陣列。我們 可以用$#var 來計算陣列個數,也可以用$?var 來檢查某個變數是否已宣告。

4. 特殊變數

$argv 和Bourne Shell的$*相似,只不過這是一個陣列。

$argv[n] 和Bourne Shell的$n相同,但不受個數限制。

$#argv 和Bourne Shell的$#相同

$home 和Bourne Shell的$HOME相同

$path 和Bourne Shell的$PATH相似,只不過這是一個陣列

$prompt 和Bourne Shell的$PS1相同

$shell Shell的路徑名稱 $status 和Bourne Shell的$?相同

$$ 和Bourne Shell的$$相同

$< 鍵盤輸入

二、執行命令

基本上和Bourne Shell相同,只有一點在Bourne Shell中的'.' 命令在C Shell 中 則為'source'命令。

三、流程控制

在C Shell 中流程控制不像Bourne Shell中一般需要使用test命令。相反地,它和 C 語言類似只要在條件中寫出運□式即可。當運算結果不為零時,其值為真,為零 時其值為偽。以下是C Shell的流程控制

1. if 語法如下

if (expression) simple-command

2. goto 語法如下

goto label

這時程式會跳至以l'label:'開頭的那一行執行

if ($#argv == 2) goto goodargs

echo 'Please use two arguments.'

exit

goodrags: ...

3. if then else

這和Bourne Shell的if then, if then else, if then elif 相似。語法如下

A. if (expression) then commands endif

B. if (expression) then commands else commands endif

C. if (expression) then commands else if (expression) then commands else commands endif

4. foreach 這和Bourne Shell的for in相似。語法如下

foreach var (arg-list)

commands

end

5. while 這和Bourne Shell的while相似。語法如下

while (expression)

commands

end

6. break及continue

這和Bourne Shell的break 及continue相似,是用來中斷foreach 及while 回 圈。

7. switch 這和Bourne Shell的case相似。語法如下

switch (string)

case pat1:

commands1

breaksw

case pat2:

commands2

breaksw

case pat3:

commands3

breaksw

endsw

□附錄A expr命令

命令格式

expr expression

敘述

expression是由字串以及運算子所組成,每個字串或是運算子之間必須用空白隔開 。下表是運算子的種類及功能,而優先順序則以先後次序排列,我們可以利用小括 號來改變運算的優先次序。其運算結果則輸出至標準輸出上。

: 字串比較。比較的方式是以兩字串的第一個字母開始,而以第二個字串的 字母結束。如果相同時,則輸出第二個字串的字母個數,如果不同時則傳 回0 。

* 乘法

/ 除法

% 取馀數

+ 加法

- 減法

< 小於

<= 小於等於

= 等於

!= 不等於

>= 大於等於

> 大於

& AND運算

| OR運算

當expression中含有'*', '(', ')' 等符號時,必須在其前面加上'' ,以免被 Shell 解釋成其它意義。

expr 2 * ( 3 + 4 ) 其輸出為14

□附錄B test命令

命令格式

test expression

敘述

expression中包含一個以上的判斷準則以作為test評詁的標準。兩準則間用'-a'代 表邏輯AND 運算,'-o'代表邏輯OR運算,而在準則前放置一'!' 代表NOT 運算。如 果沒有括號,則優先權則為'!' > '-a' > '-o' 。和expr命令相同,相使用左右括 號時,必須在其前面加上'' 。以下是有關準則的敘述(合敘述時傳回真,否則傳 回偽):

string string不為空白字串

-n string string的長度大於0

-z string string的長度等於0

string1=string2 string1等於string2

string1!=string2 string1不等於string2

int1 -gt int2 int1大於int2

int1 -ge int2 int1大於等於int2

int1 -eq int2 int1等於int2

int1 -ne int2 int1不等於int2

int1 -le int2 int1小於等於int2

int1 -lt int2 int1小於int2

-r filename 檔案可讀取

-w filename 檔案可寫入

-x filename 檔案可執行

-f filename 檔案為一般檔

-d filename 檔案為目錄

-s filename 檔案為非空的一般檔

test -r '$filename' -a -s '$filename'

標簽: Unix系統
主站蜘蛛池模板: 色婷婷av一区二区三区之红樱桃 | 精品美女久久久久 | 久久精品岛国av一区二区无码 | 国产日韩精品一区二区 | 欧美牲交a欧美牲交aⅴ | 牛牛在线免费视频 | 久久国产一二三 | 黄色片一级片 | 亚洲熟妇少妇任你躁在线观看无码 | 好男人天堂网 | 欧美gv在线观看 | 性做久久久久久久久久 | 国产手机在线αⅴ片无码观看 | 欧美成人免费全部 | 亚洲国产成人精品女人久久久 | 久久久免费视频观看 | 福利在线国产 | 6080啪啪| 久久婷婷网 | 日躁夜躁狠狠躁2001 | 国产美女免费网站 | 国产女同疯狂作爱系列 | 激情狠狠| 亚洲网站在线 | 三级免费毛片 | 99精品国产免费 | 亚洲国产另类久久久精品黑人 | 亚洲综合色站 | 日日橹狠狠爱欧美视频 | 色综合久久成人综合网 | 一区二区三区精品免费视频 | 欧美精品成人一区二区三区四区 | 五月激情六月婷婷 | 成人福利av | 欧美xxxx83d| www.国产精品 | 久久不卡免费视频 | 亚洲网友自拍 | 色天天色 | 五月激情啪啪 | 黄网免费在线观看 | 国产日韩一区二区在线观看 | 91精品国产综合久久精品图片 | 国产精品久久久久久久久久久杏吧 | 日本a级黄| 少妇放荡的呻吟干柴烈火动漫 | 国产黄色大片免费看 | 国产精品久久久一区 | 亚洲九九九 | 91欧美日韩| 亚洲精品午夜aaa久久久 | 青青草久久伊人 | 无码国产69精品久久久久网站 | 国产精品大全 | 青青草亚洲 | 爱情岛论坛线路一区二区 | 国产精品9999久久久久 | 亚洲精品成人在线 | 青青网站 | 日本三级韩国三级三级a级按摩 | 特黄视频 | 午夜插插插 | 欧美极品jiizzhd欧美爆 | 可以免费在线观看的av | 日韩在观看线 | 男人激烈吮乳吃奶爽文 | 精品久久久无码人妻字幂 | 国产精品久久久免费视频 | 成年在线网站免费观看无广告 | 欧美黑人一级爽快片淫片高清 | 六月天婷婷| 狠狠色噜噜狠狠狠狠色综合久 | 尤物yw午夜国产精品视频 | 国产日产精品久久快鸭的功能介绍 | 久久综合社区 | 精品国产乱码久久久久久预案 | 最新视频 - 88av | 二级黄色片 | av免费在线观看网址 | 成人免费在线小视频 | 精品精品 | 一级大片网站 | av不卡网| 乱人伦人妻中文字幕 | 欧美日韩中文字幕在线观看 | 哪里可以免费看av | 777黄色| 久久久久久久国产视频 | 欧美日韩精品一区二区三区四区 | 亚洲精选一区二区三区 | av人摸人人人澡人人超碰妓女 | 欧美乱妇高清无乱码 | 国产69精品一区二区亚洲孕妇 | 91精品久久久久久久91蜜桃 | 大陆少妇xxxx做受高清 | 国产www色| 日韩高清影院 | 国语对白乱妇激情视频 | 亚洲欧洲无卡二区视頻 | 久久综合香蕉国产蜜臀av | 久久亚洲区 | 国产www性| 日本爽爽爽爽爽爽在线观看免 | 美女视频黄a视频全免费观看 | 久久人妻少妇嫩草av | 国产东北淫语对白粗口video | 人人超碰在线 | 手机免费看av片 | 少妇在线观看888视频 | 深夜国产福利 | 国产自啪精品视频网站丝袜 | 深爱开心激情网 | 中文亚洲欧美日韩无线码 | 日韩人妻ol丝袜av一二区 | 国产suv精品一区二区6 | 在线不卡一区 | 国产高潮视频在线观看 | 96精品视频在线观看 | 婷综合 | 天天躁狠狠躁狠狠躁性色牛牛影视 | 久久噜噜 | 久久久久久毛片免费播放 | 欧洲熟妇色xxxx欧美老妇多毛网站 | yw视频在线观看 | 国产伦精品一区二区三区免费观看 | 美女在线免费视频 | 午夜dj在线观看高清在线视频完整版 | 99精品久久久久久久 | 夜夜爽av福利精品导航 | 毛片在线视频播放 | 中国一级黄色毛片 | 丁香六月激情综合 | 在线黄色av网站 | 国产午夜福利在线播放 | 91国语| 色噜噜狠狠一区二区三区果冻av | 亚洲 成人 av | 蜜桔视频成人免费观看 | 超级黄色片 | 麻花传媒在线观看免费 | 亚洲a∨国产av综合av网站 | 国产三级在线看 | 伊人网91 | 香蕉av福利精品导航 | 亚洲精品午夜一区人人爽 | 国产一级 黄 片 | 国产三区精品 | 香蕉视频黄版 | 色男人天堂av| 成人免费观看49www在线观看 | 成人久久久久久久久久久 | 亚洲精品综合网 | 俄罗斯15一18性视频 | 日本亚洲最大的色成网站www | 欧美性猛交xxxx乱大交蜜桃 | 亚洲国产精品入口 | 国产l精品国产亚洲区久久 国产sm主人调教女m视频 | 国模杨依粉嫩蝴蝶150p | 精品毛片乱码1区2区3区 | 日韩视频三区 | 欧美激情图| 美女免费av | 欧美专区综合 | 亚洲性生活 | 久久婷婷色综合一区二区 | 国产va免费精品高清在线观看 | 91黑丝在线观看 | 国产对白刺激真实精品91 | 欧美色综合天天久久综合精品 | 三级经典三级日本三级欧美 | 日本在线黄色 | 成人小说亚洲一区二区三区 | 免费无码av一区二区 | 亚洲视频导航 | 日韩欧三级 | 成人av免费看 | 国产一级二级日本在线 | 免费观看一区二区三区视频 | 狠狠躁18三区二区一区张津瑜 | 激情综合亚洲色婷婷五月app | 老色鬼在线精品视频 | 国产在线xxx| 国产女人高潮抽搐喷水免费视频 | 欧美成人免费网站 | 人人鲁人人莫一区二区三区 | 日本在线h| 琪琪色18 | 日本熟妇人妻xxxxx-欢迎您 | 5151精品国产人成在线观看 | 免费午夜视频在线观看 | 国产精品色婷婷 | 午夜视频在线观看一区二区 | 成人3d动漫一区二区三区 | 精品无码国产av一区二区 | 九九视频在线观看 | 成人av番号网 | 亚洲做受高潮欧美裸体 | 黄网站色视频 | 一级二级av | 男女边吃奶边摸边做边爱视频 | 亚洲日韩中文字幕无码一区 | 男女啪啪无遮挡免费网站 | 一级片啪啪 | 日本一区二区三区免费播放 | 黄色免费毛片 | 大狠狠大臿蕉香蕉大视频 | 国产偷v国产偷∨精品视频 国产偷v国产偷v精品视频 | 亚洲精品乱码久久久久久蜜桃动漫 | 91嫩草香蕉 | 偷窥福利视频 | 手机在线观看日韩大片 | 麻豆人妻少妇精品无码专区 | 国产日韩精品视频 | 国产第一页屁屁影院 | 超碰在线观看99 | 天天鲁一鲁摸一摸爽一爽 | 麻豆av一区二区三区久久 | www色中色| 欧美日韩免费在线视频 | 国产成人啪精品视频免费软件 | 亚洲国产成人精品久久 | 亚洲视频图片 | 国产做a爰片久久毛片a片 | 人人爱国产 | 亚洲欧美日韩精品久久奇米一区 | 在线h片| 欧美高清一区二区三区四区 | 一本久道久久综合狠狠爱 | 一级看片 | av在线网站无码不卡的 | 精品不卡视频 | 绯色av中文字幕一区三区 | 99这里有精品视频 | 中文字幕va一区二区三区 | 一区二区三区四区国产 | 亚洲欧美综合区丁香五月小说 | ass少妇pics粉嫩bbw1 | 强制中出し~大桥未久在线播放 | 成人一区视频 | 国产精品久久久久aaaa | 97热久久| 亚洲国产精品国自产拍久久 | 亚洲第一网站男人都懂 | 亚洲校园激情 | 中文文字幕一区二区三三 | 男人边吻奶边挵进去视频 | 蜜桃av噜噜一区二区三区 | aaa少妇高潮大片免费看 | 国产无线一二三四区手机 | 人妻内射视频麻豆 | 精品成人免费一区二区在线播放 | 中文字幕日本人妻久久久免费 | 亚洲综合在线另类色区奇米 | 各种少妇正面着bbw撒尿视频 | 少妇人妻在线视频 | 国产98色在线 | 国 | 无码人妻精品一区二区三区不卡 | 在线h片| 在线区| 欧美性久久久 | 天堂网一区| 国内外成人在线视频 | 激情五月在线 | 久久久久久一区二区三区 | 色婷婷噜噜久久国产精品12p | 日日夜夜综合 | 黑人一级女人全片 | 亚洲午夜av | 丁香婷婷激情综合俺也去 | 亚洲乱码日产精品bd在线 | 久久综合久久自在自线精品自 | 国产人碰人摸人爱免费视频 | 四川丰满妇女毛片四川话 | 亚洲欧美日韩久久精品 | 国产精品xxx | 中文字幕精品亚洲无线码二区 | 老熟妇乱子伦牲交视频 | www.久久婷婷 | 全部免费毛片在线播放一个 | 小罗莉极品一线天在线 | 国产老妇伦国产熟女老妇视频 | 五月婷在线观看 | 国产aⅴ精品 | 131mm极品尤物美女无胸罩 | 亚洲狼人社区 | 亚洲女人av久久天堂 | 狠狠干综合网 | xvideos成人免费视频 | 黄色91免费 | 日本少妇翘臀后式gif动态图 | 亚洲免费视频一区二区三区 | 欧美最猛黑人xxxx黑人猛交 | 无码午夜人妻一区二区三区不卡视频 | 天天视频入口 | 17c国产精品一区二区 | 亚洲男人的天堂一区二区 | 一本久久精品一区二区 | 中国浓毛少妇毛茸茸 | 中文字幕久久999及 中文字幕久久av | 黄色福利网站 | 九九热久久免费视频 | 18av在线播放 | av片观看 | 中文字幕日产乱码中 | 窝窝午夜精品一区二区 | 国产视频久久久 | 亚洲精品三 | 夜夜爽亚洲人成8888 | 无码av最新清无码专区吞精 | 中文字幕播放 | 亚洲一区 | 久久黄色录像 | 欧美激情xxx| 外国三级毛片 | 人人爽人人爽人人片av亚洲 | 久久不见久久见中文字幕免费 | 在线观看免费福利 | 亚洲精品高清国产一久久 | 亚洲精品国产精品久久99热 | 最新精品国偷自产在线下载 | xxxxwww国产| 国产操片 | 亚洲一区二区免费看 | h黄动漫日本www免费视频网站 | 天美传媒精品 | 国产日韩在线播放 | 寂寞少妇按摩spa高潮91 | 一个人免费观看视频www中文 | 色综合久久成人综合网 | 国产乱淫av公 | 成人精品免费视频 | 国产成人av一区二区三区不卡 | 国产精品刺激对白麻豆99 | 国产精品久久久久久69 | 四虎影成人精品a片 | 欧美日韩你懂的 | 国产精品成人无码久久久 | 男女激情麻豆入口 | 日韩欧美精品在线播放 | 成在线人免费视频 | 麻豆网站免费观看 | 日本少妇做爰全过程毛片 | 伊人网综合视频 | 欧美kkkk7777免费看 | 国产欧美一区二区三区视频 | 欧美视频综合 | 亚洲第一页夜 | 日本三级一区 | 国产成人免费片在线观看 | 中文字幕av一区二区三区 | 外国a级片 | 一区二区在线观看免费视频 | 久久网伊人 | 91探花福利精品国产自产在线 | 成年人小视频 | 深夜视频一区二区 | 国产精品伦一区二区三区在线观看 | 久久久www免费人成黑人精品 | 亚洲久草视频 | 天堂久久一区 | 国产在线短视频 | 成人在线中文字幕 | 超薄肉色丝袜一二三四 | 免费观看一级视频 | 成人精品视频m3u8 | 亚洲无人区小视频 | 美女扒开大腿让男人桶 | 海角国产真实交换配乱 | 欧美国产日本在线 | 欧美变态另类xxxx | 精品国产一区二区三区久久久 | 成 人 免 费 黄 色 | 亚洲v欧美v国产v在线观看 | 国产精品成人久久久久 | 日本综合视频 | 久草视频免费播放 | 五月天国产在线 | 欧美激情免费看 | jizz在线播放| 亚洲成色 | 粗大黑人巨精大战欧美成人 | 欧美 偷窥 清纯 综合图区 | 色婷婷综合久久久中文字幕 | 久操免费视频 | 日本中文有码 | 国产精品主播 | 国产偷v国产偷v亚洲高清 | av在线影视| 男人和女人做爽爽视频 | 91精品国产777在线观看 | 精品乱子伦 | 中韩乱幕日产无线码一区 | 免费观看激色视频网站 | 中文字幕 国产精品 | 精品av国产一区二区三区 | 伊人久久综合视频 | 俺去俺来也www色官网 | 婷婷综合精品 | 亚洲国产福利成人一区二区 | 成人欧美一区二区三区黑人冫 | 亚洲精品9999久久久久无码 | 国产精品4区 | 婷久久| 天天摸天天透天天添 | 后入内射无码人妻一区 | 91大奶| 丰满熟妇人妻中文字幕 | 国精品人妻无码一区免费视频电影 | 日韩avwww| 久久亚洲精品中文字幕无男同 | 久久久精品视频在线观看 | 欧美成人综合色 | 欧美大成色www永久网站婷 | 6080影视最新97理伦片 | 超碰在线94 | 成人福利在线播放 | 噜噜噜噜狠狠狠7777视频 | 精品国产一区二区三区国产馆杂枝 | 亚洲日韩久久综合中文字幕 | 九色一区 | 成人av在线网| 天堂一区二区mv在线观看 | 免费羞羞午夜爽爽爽视频 | 成人av视屏| 天堂av手机在线 | 久久精品人人做人人综合试看 | 国产精品爽爽爽爽爽爽在线观看 | 国产黑丝高跟 | 日韩成人精品一区二区 | 蜜桃精品在线观看 | 国产一区二区av | 欧美裸体摔跤xxxx | 字幕网在线观看 | 动漫精品专区一区二区三区 | 影音先锋资源av不撸 | 亚洲日韩精品a∨片无码 | 午夜精品视频在线观看 | 少妇和小鲜肉高潮毛片 | 久久精品九九 | 亚洲中文字幕无码久久2017 | 国产精品久久久久久久一区二区 | 国产成人精品亚洲日本在线观看 | 亚洲青草 | 欧美大白腚pics | yy6080高清性理论片啪 | 国产精品久久久久久久久久久天堂 | 国产丝袜av| caoprom超碰 | 红桃视频成人 | 亚洲黑丝在线 | 精品人妻无码一区二区三区性 | 天天操夜夜躁 | 男人天堂亚洲 | 777色淫网站女女免费 | 亚洲乱码日产精品bd | 亚洲成av人片在线观看无 | 六月婷婷综合网 | 国产一区二区三区美女 | 国产亚洲欧美一区二区三区 | 潘金莲aa毛片一区二区 | 久草在线视频在线 | 国产成人高清在线 | 姑娘第5集在线观看免费 | 一级全黄裸体免费观看视频 | 亚洲aⅴ精品一区二区三区91 | 亚洲丝袜av| 亚洲国产另类久久久精品网站 | 成人av网站在线观看 | 天天爽夜夜爽一区二区三区 | 一本色道久久亚洲综合精品蜜桃 | 91免费在线看 | 99精品国产一区二区三区不卡 | jizz久久 | 久久久久人妻精品一区三寸 | 女人14毛片毛片毛片毛片区二 | 91黄色免费观看 | 亚洲宅男av| 91网址在线观看 | 欧美久久精品 | 一级做a爰片久久毛片a | 精品久久久久久久无码 | 国产精品视频啪啪 | 女色琪琪窝窝777777换脸 | 曰韩内射六十七十老熟女影视 | 国产只有精品 | 日日干影院 | 爱情岛论坛自拍亚洲品质极速福利 | 白色丝袜美女羞羞av | 又黄又爽又色成人免费视频体验区 | 日本特黄特色a大片免费高清观看视频 | 国产裸拍裸体视频在线观看 | 国产一级一片免费播放放a 国产一级一片射内视频 | 欧美一区二区三区在线观看 | 国产永久毛片 | 亚洲黄色一级大片 | 国产偷窥女洗浴在线观看 | 美女少妇av | 一级淫片a | 国产精品爽爽久久久久久豆腐 | 免费国产玉足脚交视频 | 青春草av | 神马影院午夜伦理 | 亚洲一区二区三区小说 | 国产99久久久国产 | 91久久精品国产91性色tv | 久久网站av| 日本一级中文字幕久久久久久 | 狠狠色丁香婷婷久久综合五月 | 国产免费久久精品 | av亚洲在线| 免费在线黄网 | 亚洲狠狠操 | 爱吃波客今天最新视频 | 永久免费观看的毛片手机视频 | 天天综合天天做天天综合 | 玖玖zyz| 夜夜爽夜夜叫夜夜高潮漏水 | 亚洲日韩av无码 | 亚洲一区二区三区四区五区六区 | 农村乡下女人毛片 | 亚洲一区二区三区四区五区六 | 台湾全黄色裸体视频播放 | 日出水了特别黄的视频 | 狠狠撸在线观看 | 在线播放色 | 国产九色在线 | 疯狂撞击丝袜人妻 | 饥渴的熟妇张开腿呻吟视频 | 国产手机在线精品 | 成年人三级视频 | av福利影院| 久草热在线视频 | 午夜在线观看网站 | 亚洲精品乱码久久久久久日本蜜臀 | av高清| 午夜国产精品国产自线拍免费人妖 | 九七超碰在线 | 综合久久综合久久 | 国产日批 | 久久一热 | 中国老太婆bb无套内射 | 在线a久青草视频在线观看 无套内射极品少妇chinese | 九九热最新网址 | 国产精品久久久久久影视 | 欧美hdxxxx| 成人av黄色 | 欧美亚洲少妇 | 日韩精品乱码久久久久久 | 免费a级网站 | 午夜性生活视频 | 日韩在线观看中文字幕 | 国产日韩欧美综合 | 草草影院ccyy国产日本第一页 | 91国产丝袜播放在线 | 中文字幕第4页 | 在线成人www免费观看视频 | 爱视频福利网 | 国产99久久精品一区二区永久免费 | 久久精品视频91 | 国产综合视频一区二区三区 | 奇米色777欧美一区二区 | 亚洲区和欧洲区一二三四 | 色播亚洲视频在线观看 | 欧美最猛黑人xxxxx猛交 | 亚洲国产精品久久一线不卡 | 强行撕衣强行糟蹋三级韩国 | 人妻av一区二区三区精品 | 国产精品5区| 亚洲午夜久久久久久久久红桃 | 操一操日一日 | 国产av成人一区二区三区 | 18国产精品福利片久久婷 | 成人性生交大片免费看r老牛网站 | 久久的久久爽亚洲精品aⅴ 久久第一页 | 久久精品无码一区二区小草 | 久久99精品久久久秒播 | 欧美女优在线观看 | 双性人做受视频 | 男人用嘴添女人下身免费视频 | 96亚洲精品久久 | 日韩精品视频一区二区三区 | 日韩中文字幕在线免费观看 | 亚洲成人1区 | 精品久久久中文字幕人妻 | 日本久久久久久久久久久 | 一级性感毛片 | 日日碰狠狠躁久久躁 | 亚洲国产精品一区二区久久hs | 欧美性生活在线视频 | 亚洲精品av中文字幕在线 | 不卡国产一区二区三区四区 | 男人视频网站 | 在线播放国产视频 | 无码手机线免费观看 | 国产黄色a级 | 91香蕉一区二区三区在线观看 | 九九精品国产 | 羞羞视频网站免费 | 中午字幕无线码一区2020 | 97国产suv精品一区二区62 | 好吊妞在线 | 裸体一区二区三区 | 精品国产成人亚洲午夜福利 | 成人一区二区三区四区 | 亚洲国产综合精品久久久久久 | 人人综合亚洲无线码另类 | 国产丝袜视频 | 亚洲日韩一区精品射精 | 青青草这里只有精品 | 窝窝影院午夜看片 | 在线观看老湿视频福利 | jizz久久精品永久免费 | 亚州av一区 | 亚洲人成在线观看 | 久久r这里只有精品 |