Shell腳本語言學(xué)習(xí)二

Shell腳本語言學(xué)習(xí)一
Shell腳本語言學(xué)習(xí)三


Shell腳本語言 echo命令?
  • 顯示普通字符串

    腳本代碼:
          echo "iPhone X 標(biāo)配 8388元"
    終端執(zhí)行輸出:
          iPhone X 標(biāo)配 8388元
    
  • 顯示轉(zhuǎn)義字符

    腳本代碼:       
          echo "\"iPhone X 頂配 9688元\""
    終端執(zhí)行輸出:
          "iPhone X 頂配 9688元"
    
  • 顯示變量

    腳本代碼:
          iPhone="iPhone X"
          echo ${iPhone} 9688
    終端執(zhí)行輸出:
          iPhone X 9688
    
  • 顯示換行

    錯(cuò)誤腳本代碼:
          echo "iPhone X \n hello world!"
    終端執(zhí)行輸出:
          iPhone X \n hello world!
    
    正確腳本代碼:
          echo -e "iPhone X \n hello world!"
    終端執(zhí)行輸出:
          iPhone X 
           hello world!
    
    說明:  -e: 表示開啟轉(zhuǎn)義功能.
    
  • 不換行

    腳本代碼一:(換行)
          echo "iPhone X hello"
          echo "world!"
    終端執(zhí)行輸出:
          iPhone X hello 
          world!
    
    腳本代碼二:(不換行)
          echo -e "iPhone X hello \c "
          echo "world!"
    終端執(zhí)行輸出:
          iPhone X hello world!
    
    注意: -e: 表示開啟轉(zhuǎn)義功能,但是 \c 表示不換行.
    
  • 顯示一個(gè)執(zhí)行命令

    要求: 輸出當(dāng)前時(shí)間,還有很多命令后面學(xué)習(xí).
    腳本代碼:
          echo `date` 
    終端執(zhí)行輸出:
          2017年11月21日 星期二 16時(shí)20分43秒 CST
    
  • 退出命令

    語法: exit 狀態(tài)->退出程序
    腳本代碼一:
          iPhone="買了一臺iPhone X,摔爆了"
          echo ${iPhone}
          exit
          echo "哈哈,誰讓你不小心..."
    終端執(zhí)行輸出:(后面沒有輸出了,直接退出了)
          買了一臺iPhone X,摔爆了
    
    腳本代碼二:
          iPhone="買了一臺iPhone X,摔爆了"
          echo ${iPhone}
          exit 0
          echo "哈哈,誰讓你不小心..."
    終端執(zhí)行輸出:(結(jié)果同上)
    

Shell腳本語言 數(shù)組 ?
  • 語法
    數(shù)組名=(值1 值2 值3...)
  • 初始化數(shù)組

    腳本代碼一:
          name=("小明" "18" "全班最菜")
          echo $name
    終端執(zhí)行輸出:(默認(rèn)打印第一個(gè)元素)
          小明
    
    腳本代碼二:
          name=()
          name[0]="小明"
          name[1]="Andy"
          name[2]="Jim"
          name[3]="最菜排名"
          echo ${name[1]} ${name[2]}
    終端執(zhí)行輸出:
          Andy Jim
    
  • 讀取數(shù)組元素

    語法結(jié)構(gòu):${數(shù)組名[下標(biāo)]}
    腳本代碼:
          name=("小明" "18" "全班最菜")
          echo ${name[1]}
    終端執(zhí)行輸出:
          18
    
    輸出所有:"@"表示輸出數(shù)組中所有的數(shù)據(jù)
    腳本代碼:
          name=("小明" "18" "全班最菜")
          echo ${name[@]}
    終端執(zhí)行輸出:
          小明 18 全班最菜
    
  • 獲取數(shù)組長度

    獲取數(shù)組元素個(gè)數(shù)語法一: ${#數(shù)組名[@]}
    腳本代碼: 
          name=("小明" "18" "全班最菜")
          echo ${#name[@]}
    終端執(zhí)行輸出:
          3
    
    獲取數(shù)組元素個(gè)數(shù)語法二: ${#數(shù)組名[*]}
    腳本代碼:
          name=("小明" "18" "全班最菜")
          echo ${#name[*]}
    終端執(zhí)行輸出:
          3
    
  • 獲取單個(gè)元素字符長度

    語法:${#數(shù)組名[下標(biāo)]}
    腳本代碼:
          name=("小明" "18" "全班最菜")
          echo ${#name[2]}
    終端執(zhí)行輸出:
          4
    

Shell腳本語言 參數(shù)傳遞 ?
  • 語法定義

    ./文件名.sh 參數(shù)一 參數(shù)二 參數(shù)3 ...
    
  • 案例需求

    腳本代碼:
          echo ${0} ${1}  ${2}
    終端執(zhí)行命令:
          /shell.sh 豆你玩 蒜你狠
    終端執(zhí)行輸出:
          ./shell.sh 豆你玩 蒜你狠
    解釋說明:
          ${0} -> 表示文件名稱
          ${1} -> 表示參數(shù)1
          ${2} -> 表示參數(shù)2
    
  • 特殊字符

    • $#: 表示獲取腳本輸入?yún)?shù)的個(gè)數(shù)

      腳本代碼:
            echo ${#}
      終端執(zhí)行代命令:
            ./shell.sh 豆你玩 蒜你狠
      終端執(zhí)行輸出:
            2 
      
    • $*: 表示顯示整個(gè)腳本輸入的參數(shù)列表

      腳本代碼:
            echo ${*}
      終端執(zhí)行命令:
            ./shell.sh 豆你玩 蒜你狠
      終端執(zhí)行輸出:
            豆你玩 蒜你狠
      

Shell腳本語言 基本運(yùn)算符 ?
  • 算術(shù)運(yùn)算符->加減乘除等

    • +運(yùn)送

      注意: 'expr' 規(guī)定命令,并且規(guī)定命令后邊和運(yùn)算符兩邊都要有空格,否則會被當(dāng)成字符串處理或者報(bào)錯(cuò).
      腳本代碼:
            a=8388
            b=9688
            c=`expr $a + $b`
            echo c的值是: $c
      終端執(zhí)行輸出:
            c的值是: 18076
      
    • - 運(yùn)算

      注意: 'expr' 規(guī)定命令,并且規(guī)定命令后邊和運(yùn)算符兩邊都要有空格,否則會被當(dāng)成字符串處理或者報(bào)錯(cuò).
      腳本代碼:
           a=8388
           b=9688
           c=`expr $a - $b`
           echo "c的值是: $c"
      終端執(zhí)行輸出:
           c的值是: -1300
      
    • * 號運(yùn)算

      注意: 'expr' 規(guī)定命令,并且規(guī)定命令后邊和運(yùn)算符兩邊都要有空格,否則會被當(dāng)成字符串處理或者報(bào)錯(cuò).
           * 號需要轉(zhuǎn)義一下
      腳本代碼:    
           a=8388
           b=9688
           c=`expr $a \* $b`
           echo "c的值是: $c"
      終端執(zhí)行輸出:
           c的值是: 81262944
      
    • /運(yùn)算

      注意: 'expr' 規(guī)定命令,并且規(guī)定命令后邊和運(yùn)算符兩邊都要有空格,否則會被當(dāng)成字符串處理或者報(bào)錯(cuò).
            ' / ' 只記整數(shù)部分,忽略小數(shù)部分
      腳本代碼:    
           a=8388
           b=9688
           c=`expr $a / $b`
           echo "c的值是: $c"
      終端執(zhí)行輸出:
           c的值是: 0
      
    • %運(yùn)算

      注意: 'expr' 規(guī)定命令,并且規(guī)定命令后邊和運(yùn)算符兩邊都要有空格,否則會被當(dāng)成字符串處理或者報(bào)錯(cuò).
      腳本代碼:    
           a=8388
           b=9688
           c=`expr $a % $b`
           echo "c的值是: $c"
      終端執(zhí)行輸出:
           c的值是: 8388
      
    • = 運(yùn)算

      腳本代碼:    
           a=8388
           b=$a
           echo "b的值是: $b"
      終端執(zhí)行輸出:
           b的值是: 8388
      
    • == 運(yùn)算

      注意: `[ ]` 內(nèi)部要和變量之間以及`==`運(yùn)算符和變量之間都要有空格,否則會報(bào)錯(cuò).
      腳本代碼:    
            a=8388
            b=9688
            if [ $a == $b ]
            then
                 echo "a等于b"
            else
                 echo "a不等于b"
            fi
      終端執(zhí)行輸出:
            a不等于b
      
  • 關(guān)系運(yùn)算符

    • -eq : 檢測兩個(gè)數(shù)是否相等,當(dāng)相等時(shí)返回 true

      腳本代碼:
            c=999
            d=999
            if [ $c -eq $d ]
            then
                 echo "c等于d"
            else
                 echo "c不等于d"
            fi
      終端執(zhí)行輸出:
            c等于d
      
    • -ne 檢測兩個(gè)數(shù)是否相等,不相等返回 true

      腳本代碼:
            c=999
            d=999
            if [ $c -ne $d ]
            then
                 echo "c不等于d"
            else
                 echo "c等于d"
            fi
      終端執(zhí)行輸出:
            c不等于d  
      
    • -gt 檢測左邊數(shù)是否大于右邊,如果是,返回true

      腳本代碼:
            c=100
            d=200
            if [ $c -gt $d ]
            then
                 echo "c大于d"
            else
                 echo "c不大于d"
            fi
      終端執(zhí)行輸出:
            c大于d  
      
    • -It 檢測左邊數(shù)是否小于右邊數(shù),如果是,返回true

      腳本代碼:
            c=100
            d=200
            if [ $c -lt $d ]
            then
                 echo "c小于d"
            else
                 echo "c不小于d"
            fi
      終端執(zhí)行輸出:
            c小于d  
      
    • -ge 檢測左邊數(shù)是否大于等于(大于+等于)右邊數(shù),如果是,返回true.

      腳本代碼:
            c=1000
            d=200
            if [ $c -ge $d ]
            then
                 echo "c大于等于d"
            else
                 echo "c小于d"
            fi
      終端執(zhí)行輸出:
            c大于等于d  
      
    • le 檢測左邊數(shù)是否小于等于右邊數(shù),如果是,返回true.

      腳本代碼:
            c=100
            d=200
            if [ $c -le $d ]
            then
                 echo "c小于等于d"
            else
                 echo "c大于d"
            fi
      終端執(zhí)行輸出:
            c小于等于d  
      
  • 布爾值運(yùn)算符

    • -o 或運(yùn)算,有一個(gè)表達(dá)式為true,則返回true.

      腳本代碼:
            a=100
            b=200
            if [ $a -lt 200 -o $b -gt 200 ]
            then
                echo "成立"
            else
                echo "不等于"
            fi
      終端執(zhí)行輸出:
            成立
      
    • -a 與運(yùn)算,兩個(gè)表達(dá)式都是true,則返回true

      腳本代碼:
            a=199
            b=201
            if [ $a -lt 200 -a $b -gt 200 ]
            then
                echo "成立"
            else
                echo "不等于"
            fi
      終端執(zhí)行輸出:
            成立
      
    • ! 非運(yùn)算, 表達(dá)式為false,加上!運(yùn)算則返回true,否則返回false.

      腳本代碼:
            a=100
            b=200
            if [ $a != $b ]
            then
                echo "a不等于b"
            else
                echo "a等于b"
            fi
      終端執(zhí)行輸出:
            a不等于b
      
  • 邏輯運(yùn)算符

    • && 邏輯且 -> 相當(dāng)于 and 的意思

      腳本代碼:
            a=199
            b=201
            if [ $a -lt 200 ] && [ $b -gt 200 ]
            then
                echo "成立"
            else
                echo "不成立"
            fi
      終端執(zhí)行輸出:
            成立
      
    • || 邏輯或 -> 相當(dāng)于 or 的意思

      腳本代碼:
            a=199
            b=201
            if [ $a -lt 199 ] || [ $b -gt 200 ]
            then
                echo "成立"
            else
                echo "不成立"
            fi
      終端執(zhí)行輸出:
            成立
      
  • 字符串運(yùn)算

    • = 檢測兩個(gè)字符串是否相等,如果相等,返回true.

      腳本代碼:
            a="hehe"
            b="hehe"
            if [ $a = $b ]
            then
                echo "字符串a(chǎn) 等于 字符串b"
            else
                echo "字符串a(chǎn) 不等于 字符串b"
            fi
      終端執(zhí)行輸出:
            字符串a(chǎn) 等于 字符串b
      
    • != 檢測兩個(gè)字符串是否相等, 如果不相等,返回 true.

      腳本代碼:
            a="hehe"
            b="hehe"
            if [ $a != $b ]
            then
                echo "字符串a(chǎn) 不等于 字符串b"
            else
                echo "字符串a(chǎn) 等于 字符串b"
            fi
      終端執(zhí)行輸出:
            字符串a(chǎn) 等于 字符串b
      
    • -z 檢測字符串長度是否為0, 如果是 返回true

      腳本代碼:
            a="hehe"
            if [ -z $a ]
            then
                echo "a為空,不存在"
            else
                echo "a存在值"
            fi
      終端執(zhí)行輸出:
            a存在值
      
    • -n 檢測字符串長度是否為0, 如果不是 返回true

      腳本代碼:
            a="hehe"
            if [ -n "$a" ]
            then
                echo "a存在值"
            else
                echo "a不存在值"
            fi
      終端執(zhí)行輸出:
            a存在值
      注意: if 后中括號判斷條件 $a 兩邊必須加了雙引號 "$a",否則代碼有問題
      
    • 字符串 檢測字符串是否為空, 不為空 返回true

      腳本代碼:
            a="hehe"
            if [ $a ]
            then
                echo "a不為空"
            else
                echo "a為空"
            fi
      終端執(zhí)行結(jié)果:
            a不為空
      
  • 文件測試運(yùn)算符

    • -d file檢測文件是不是一個(gè)目錄,如果是,那么返回true.

      腳本代碼:
      file="/Users/junde/Desktop/shell.sh"
      if [ -d $file ]
      then
          echo "是一個(gè)目錄"
      else
          echo "不是一個(gè)目錄"
      fi
      終端執(zhí)行輸出:
            不是一個(gè)目錄
      
    • -r file 檢測文件是否可讀,如果是 返回true

      腳本代碼:
            file="/Users/junde/Desktop/shell.sh"
            if [ -r $file ]
            then 
                echo "文件可讀"
            else
                echo "文件不可讀"
            fi
      終端執(zhí)行輸出:
            文件可讀
      
    • -w file 檢測文件是否可寫

      腳本代碼:
            file="/Users/junde/Desktop/shell.sh"
            if [ -w $file ]
            then 
                echo "文件可寫"
            else
                echo "文件不可寫"
            fi
      終端執(zhí)行輸出:
            文件可寫
      
    • x file 檢測文件是否是可執(zhí)行文件,如果是 返回true

      腳本代碼:
            file="/Users/junde/Desktop/shell.sh"
            if [ -x $file ]
            then 
                echo "文件可執(zhí)行"
            else
                echo "文件不可執(zhí)行"
            fi
      終端執(zhí)行輸出:
            文件可執(zhí)行
      
    • -f file 檢測文件是否是一個(gè)普通文件(既不是目錄,也不是設(shè)備文件),如果是园骆,那么返回true

      腳本代碼:
            file="/Users/junde/Desktop/shell.sh"
            if [ -f $file ]
            then 
                echo "文件為普通文件"
            else
                echo "文件為特殊文件"
            fi
      終端執(zhí)行輸出:
            文件為特殊文件
      
    • -s file 檢測文件內(nèi)部是否有內(nèi)容,如果有內(nèi)容 返回true

      創(chuàng)建一個(gè)空文本測試文件 `test.text`
      腳本代碼:
            file="/Users/junde/Desktop/test.text"
            if [ -s $file ]
            then 
                echo "文件有內(nèi)容"
            else
                echo "文件沒有內(nèi)容"
            fi
      終端執(zhí)行輸出:
            文件沒有內(nèi)容
      
    • -e file 檢測文件是否存在(包含了:目錄和文件), 如果是 返回true

      腳本代碼:
            file="/Users/junde/Desktop/shell.sh"
            if [ -e $file ]
            then 
                echo "存在"
            else
                echo "不存在"
            fi
      終端執(zhí)行輸出:
            存在
      

Shell腳本語言 流程控制 ?
  • if 語句

    語法結(jié)構(gòu):
          if [條件]
          then
              代碼
          else
              代碼
          fi
     腳本代碼: 參照本文上面的例子即可
    
  • if else 語句的多種選擇條件

    語法結(jié)構(gòu):
          if [條件]
          then
             代碼
          elif [條件]
          then
             代碼
          else
               代碼
          fi
    
     腳本代碼:
            a=99
            b=100
            if [ $a = $b ]
            then
                echo "a的值等于b"
            elif [ $a ]
            then
                echo "$a"
            else
                echo "其他"
            fi
      終端執(zhí)行輸出:
            99
    
  • for 循環(huán)語句

    語法結(jié)構(gòu):
        for 變量名 in item1 item2 item3 ...
        do
            代碼
        done
    
    案例一: 簡單的讀取值
    腳本代碼:
        for num in 1 9 8 8 0 9
        do 
            echo ${num}
        done
    終端執(zhí)行輸出:
        1
        9
        8
        8
        0
        9
    
    案例二: 讀取列表復(fù)雜值 -> 注意特殊字符需要轉(zhuǎn)義
    腳本代碼:(錯(cuò)誤代碼)
        for name in "I don't know"
        do 
            echo ${name}
        done  
    終端執(zhí)行輸出:
        I don't know
    這種直接輸出字符串,不會輸出單個(gè)單詞
    
    腳本代碼:(正確代碼)
        for name in I don\' t know
        do 
            echo ${name}
        done  
    終端執(zhí)行輸出:
        I
        don't
        know
    
    案例三: 從變量讀取里列表
    腳本代碼:
        var="I don't know"
        for name in ${var}
        do 
            echo ${name}
        done  
    終端執(zhí)行輸出:
        I
        don't
        know
    
    案例四: 讀取目錄 -> 通配符
    腳本代碼:
        file="/Users/junde/Desktop/*"
        for name in ${file}
        do
             echo ${name}
        done
    終端執(zhí)行輸出: (太多了暫時(shí)省略一部分)
        /Users/junde/Desktop/Shell
        /Users/junde/Desktop/SwiftDemo
        /Users/junde/Desktop/YHPhotoBrowser
    
    案例五: 嵌套循環(huán)(類似C語言寫法)
    腳本代碼一:(普通循環(huán))
        for ((a = 1; a < 5; a++))
        do
             echo ${a}
        done
    終端執(zhí)行輸出:
        1
        2
        3
        4
    
    腳本代碼二:(嵌套循環(huán))
        for ((a = 1; a < 5; a++))
        do
             echo a\-\>${a}
             for ((b = 1; b < 5; b++))
             do
                echo "b-->$壁袄"
             done
        done
    終端執(zhí)行輸出:
        a->1
        b-->1
        b-->2
        a->2
        b-->1
        b-->2
        a->3
        b-->1
        b-->2
    
    腳本代碼三: (無限循環(huán))
        c=1
        for ((;;))
        do
           echo $c
           c=`expr $c + 1`
        done
    終端執(zhí)行輸出:(省略...)
        1
        2
        .
        .
        .
    
  • while 循環(huán)

    語法結(jié)構(gòu):
        while (條件)
        do 
            代碼
        done
    
    腳本代碼一: (基本循環(huán))
        c=1
        while(($c<5))
        do
           echo $c
           c=`expr $c + 1`
        done
    終端執(zhí)行輸出:
        1
        2
        3
        4
    
    腳本代碼二: (無限循環(huán))
        c=1
        while :
        do
           echo $c
           c=`expr $c + 1`
        done
    終端執(zhí)行輸出:(省略...)
        1
        2
        .
        .
        .
    
  • case 語句

    語法結(jié)構(gòu):
        case 值 in
        模式1)
             代碼
        ;;
        模式2)
             代碼
        ;;
        模式3)
             代碼
        ;;
        sac
    
    腳本代碼:
         number=1
         case $number in
         1)
             echo "等于1"
         ;;
         2)
             echo "等于2"
         ;;
         3)
             echo "等于3"
         ;;
         esac
    終端執(zhí)行輸出:
         等于1
    
  • until循環(huán)?

    語法結(jié)構(gòu):(當(dāng)條件為否的時(shí)候進(jìn)入邏輯代碼,無限循環(huán))
          until 條件
          do
              邏輯代碼
          done
    腳本代碼:
           a=1
           until (($a > 1))
           do
               echo "i的值為 $a 小于等于1"
           done
    終端執(zhí)行輸出:
          a的值為 1 小于等于1
          a的值為 1 小于等于1
          a的值為 1 小于等于1
          ...
    以上執(zhí)行輸出的時(shí)候:當(dāng)條件為否的時(shí)候進(jìn)入循環(huán),是一個(gè)死循環(huán),一直輸出上面結(jié)果
    

如果上述有錯(cuò)誤的地方,敬請告知,謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市豆混,隨后出現(xiàn)的幾起案子篓像,更是在濱河造成了極大的恐慌,老刑警劉巖皿伺,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件员辩,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸵鸥,警方通過查閱死者的電腦和手機(jī)奠滑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妒穴,“玉大人宋税,你說我怎么就攤上這事∷嫌停” “怎么了杰赛?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長矮台。 經(jīng)常有香客問我乏屯,道長,這世上最難降的妖魔是什么瘦赫? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任辰晕,我火速辦了婚禮,結(jié)果婚禮上确虱,老公的妹妹穿的比我還像新娘含友。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布窘问。 她就那樣靜靜地躺著扎唾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪南缓。 梳的紋絲不亂的頭發(fā)上胸遇,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機(jī)與錄音汉形,去河邊找鬼纸镊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛概疆,可吹牛的內(nèi)容都是我干的逗威。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼岔冀,長吁一口氣:“原來是場噩夢啊……” “哼凯旭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起使套,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤罐呼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后侦高,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫉柴,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年奉呛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了计螺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瞧壮,死狀恐怖登馒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情咆槽,我是刑警寧澤陈轿,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站罗晕,受9級特大地震影響济欢,放射性物質(zhì)發(fā)生泄漏赠堵。R本人自食惡果不足惜小渊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茫叭。 院中可真熱鬧酬屉,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谬擦,卻和暖如春切距,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惨远。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工谜悟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人北秽。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓葡幸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贺氓。 傳聞我的和親對象是個(gè)殘疾皇子蔚叨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

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