shell條件判斷和流程控制語句If

shell條件判斷和流程控制語句If

96

偶遇4774 已關注

2019.05.31 15:59* 字數(shù) 1230 閱讀 1評論 0喜歡 0

1浴讯、read 命令鍵盤讀取變量的值

從鍵盤讀取變量的值,通常用在shell腳本中與用戶進行交互的場合蔼啦,此命令可以一次性讀取多個值,變量和輸入值都需要使用空格隔開仰猖,如果沒有指定變量名捏肢,讀取的數(shù)據(jù)將被自動賦值給特定的變量REPLY

read命令參數(shù)

read 命令
-s ?將輸入的字符隱藏起來
-p ?設置提示信息、或用echo –n “…“來給出提示符
-t ? 設置輸入等待時間饥侵,單位默認為秒
-n ?設置輸入的字符限制
-r ? 能夠支持特殊字符

  • read 從鍵盤讀入數(shù)據(jù)鸵赫,賦給變量
例 1:
[root@web02 ~]# read a b
123 456
[root@web02 ~]# echo $a $b
123 456

例 2:read -s passwd 將輸入的東西隱藏起來,值賦給passwd.用在:用戶隱藏密碼信息
[root@web02 ~]# read -s passwd 
[root@web02 ~]# echo $passwd 
隱藏信息

例 3:read 綜合參數(shù)實踐
[root@web02 ~]# read -s -t 6 -n 6  -r  -p  "請輸入密碼:" passwd
請輸入密碼:
[root@web02 ~]# echo $passwd
12%$&*

例1:從標準輸入讀取一行并賦值給變量passwd
[root@web02 ~]# read passwd
例2:讀取多個值躏升,從標準輸入讀取一行辩棒,直至遇到第一個空白符或換行符。把用戶鍵入的第一個詞存到變量first中膨疏,把該行的剩余部分保存到變量last中
[root@web02 ~]# read firt last
aaaa  bbbb
例3:read -s passwd 將你輸入的東西隱藏起來一睁,值賦給passwd。這個用戶隱藏密碼信息
[root@web02 ~]# read -s passwd
[root@web02 ~]# echo $passwd
123456
例4:輸入的時間限制
[root@web02 ~]# read -t 2 time   #超過兩秒沒有輸入佃却,直接退出
例5:輸入的長度限制
[root@web02 ~]# read -n 2 test  #最多只接受2個字符
例6:使用-r參數(shù)輸者吁,允許讓輸入中的內容包括:空格、/饲帅、\复凳、 ?等特殊字符串灶泵。
[root@web02 ~]# read  -r line
sdf sdf / sdfs /n
[root@web02 ~]# echo $line
sdf sdf / sdfs /n
例7:-p 用于給出提示符育八,在前面的例子中我們使用了echo –n “…“來給出提示符
方法1:
[root@web02 ~]# read -p  "please input: "  pass
please input: 123456
[root@web02 ~]# echo $pass
123456
方法2:
[root@web02 ~]# echo -n "please input: " ; read pass
please input: 123456     
[root@web02 ~]# echo $pass
123456

例8:read 綜合實例
[root@web02 ~]# vim  test-read.sh  #寫入以下內容
#!/bin/bash
read -p "請輸入姓名:" NAME
read -p "請輸入年齡:" AGE
read -p "請輸入性別:" SEX

cat<<eof
*********************
你的基本信息如下:
姓名: $NAME
年齡:$AGE
性別:$SEX
********************
eof
[root@web02 ~]# sh test-read.sh
請輸入姓名:oldboy
請輸入年齡:111
請輸入性別:man
*********************
你的基本信息如下:
姓名: oldboy
年齡:111
性別:man


2、流程控制語句if

  • 2.1赦邻、單分支語法格式:
    if 條件
    then
    commands
    fi
    單分支if語句流程圖:

    image

    注:根據(jù)我們的命令退出碼來進行判斷(echo $? =0)髓棋,如果是0,那么就會執(zhí)行then后面的命令

例1:
[root@web02 ~]# vim  if-1.sh 
#!/bin/bash
if ls /mnt
then
    echo "it's ok"
fi
[root@web02 ~]# bash !$
bash if-1.sh
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI      images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA         isolinux  repodata  TRANS.TBL
it's ok

  • 2.2、雙分支if語句
    語法格式:
    if command ; then
    commands
    else
    commands
    fi
    雙分支if語句圖:
image
例2:
[root@web02 ~]# cat if-2.sh
#!/bin/bash
if grep root /etc/passwd ; then
        echo "it's ok"
else
        "it's err"
fi 

[root@web02 ~]# sh if-2.sh 
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
it's ok

例3:
[root@web02 ~]# cat if-3.sh
#!/bin/bash

if grep xuegod /etc/passwd ;then
    echo "it's ok"
else
    echo "it's err"
fi
[root@web02 ~]# sh if-3.sh
it's err

  • 2.3深纲、多分支if語句
    語法結構:
    if 條件測試操作1 ; then
    commands
    elif 條件測試操作2 ; then
    commands
    elif 條件測試操作3 ; then
    commands
    .......
    else
    commands
    fi
    多分支if語句圖:
image
例4:判斷用戶在系統(tǒng)中是否存在仲锄,是否有家目錄
[root@web02 ~]# cat if-4.sh
#!/bin/bash
read -p "input a user:" tu
if grep $tu /etc/passwd ; then
        echo "the user $tu exists on this system"
elif ls -d /home/$tu  ;  then
        echo "the user $tu not exists on this system"
        echo "$tu has a home directory"
else
        echo "the user $tu not exists on this system"
        echo "$tu not has a direcotry"
fi

[root@web02 ~]# sh if-4.sh 
Input a user: hr
chrony:x:994:990::/var/lib/chrony:/sbin/nologin
hr:x:1000:1000:hr:/home/hr:/bin/bash
the user hr exists on this system
[root@web02 ~]# sh if-4.sh
Input a user: xuegod
/home/xuegod
xuegod has a directory


3劲妙、test測試命令

Shell中的 test 命令用于檢查某個條件是否成立,它可以進行數(shù)值儒喊、字符和文件三個方面的測試格式
test 測試條件
如果結果是對的镣奋,也叫結果為真,用$?=0表示怀愧,反之為假侨颈,用非0表示

3.1、數(shù)值比較用

參數(shù) 說明 示例
-eq 等于則為真 [ “[圖片上傳失敗...(image-688b88-1559728118721)]

b” ] |
| -ne | 不等于則為真 | [ “[圖片上傳失敗...(image-2e857f-1559728118721)]

b” ] |
| -gt | 大于則為真 | [ “[圖片上傳失敗...(image-dfa06f-1559728118721)]

b” ] |
| -ge | 大于等于則為真 | [ “[圖片上傳失敗...(image-5cac2c-1559728118721)]

b” ] |
| -lt | 小于則為真 | [ “[圖片上傳失敗...(image-804bd5-1559728118721)]

b” ] |
| -le | 小于等于則為真 | [ “[圖片上傳失敗...(image-a810f1-1559728118721)]

b” ] |

例1:比較大小
[root@web02 ~]# cat test1.sh 
#!/bin/bash
if test 2 -eq 1  ; then
        echo ok
else
        echo err
fi

if [ 2 -eq 2 ]  ; then
        echo ok
else
        echo err
fi

例2: 比較整數(shù)大小
[root@web02 ~]# cat test2.sh 
#!/bin/bash
read -p "input var1 var2:" var1 var2
if [ $var1 -gt $var2  ] ;  then
        echo "$var1 > $var2"
elif [ $var1 -lt $var2 ] ; then
        echo "$var1 < $var2"
else
        echo "$var1 = $var2"
fi
注意:在做數(shù)值比較時芯义,只能用整數(shù)

3.2哈垢、字符串比較用

參數(shù) 說明 示例
== 等于則為真 [ “[圖片上傳失敗...(image-f1a912-1559728118721)]

b” ] |
| != | 不相等則為真 | [ “[圖片上傳失敗...(image-9384e1-1559728118721)]

b” ] |
| -z 字符串 | 字符串的長度為零則為真 | [ -z “a” ] | | -n 字符串 | 字符串的長度不為空則為真 | [ -n “a” ] |
| str1 > str2 | str1大于str2為真 | [ str1 > str2 ] |
| str1 < str2 | str1小于str2為真 | [ str1 < str2 ] |

例1:根據(jù)用戶名判斷是否是超級管理員
[root@web02 ~]# cat test3.sh
#!/bin/bash
read -p  "input your name: " name
if [ $name == "root" ] ; then
        echo "you are super administrator"
else
        echo  "You are a general user"
fi

[root@web02 ~]# bash test3.sh 
input your name: root
you are super administrator
[root@xuegod63 ~]# bash test3.sh 
input your name: mk
You are a general usero "You are a general user"

例2:在做字符串大小比較的時候,注意字符串的順序
1扛拨、大于號和小于號必須轉義耘分,要不然SHELL會把它當成重定向符號
2、大于和小于它們的順序和sort排序是不一樣的
3绑警、在test比較測試中求泰,它使用的是ASCII順序,大寫字母是小于小寫字母的计盒;sort剛好相反

  • 擴展:
    ??ASCII(American Standard Code for Information Interchange渴频,美國信息交換標準代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言北启。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng)卜朗,并等同于國際標準ISO/IEC 646。

    image
[root@web02 ~]# cat test4.sh 
#!/bin/bash
var1=test
var2=Test
if [  $var1 \>  $var2  ] ; then
        echo "$var1 > $var2"
else
        echo "$var1 < $var2"
fi 
[root@web02 ~]# bash test4.sh 
test > Test

3.3咕村、文件比較用

參數(shù) 說明 示例
-e 文件名 如果文件或目錄存在則為真 [ -e file ]
-r 文件名 如果文件存在且可讀則為真 [ -r file ]
-w 文件名 如果文件存在且可寫則為真 [ -w file ]
-x 文件名 如果文件存在且可執(zhí)行則為真 [ -x file ]
-s 文件名 如果文件存在且至少有一個字符則為真 [ -s file ]
-d 文件名 如果文件存在且為目錄則為真 [ -d file ]
-f 文件名 如果文件存在且為普通文件則為真 [ -f file ]
-c 文件名 如果文件存在且為字符型文件則為真 [ -c file ]
-b 文件名 如果文件存在且為塊特殊文件則為真 [ -b file ]
file1 -nt fle2 檢查file1是否比file2新 [ file1 -nt file2 ]
file1 -ot file2 檢查file1是否比file2舊 [ file1 -ot file2 ]
例1:
[root@web02 ~]# vim  test5.sh 
#!/bin/bash
if [ -e /etc/passwd ] ; then
        echo ok
else
        echo err
fi 
[root@web02 ~]# bash test5.sh 
ok

例2:
[root@web02 ~]# test -e /etc/aaa.txt && echo ok || echo err
err
[root@web02 ~]# test -e /etc/passwd && echo ok || echo err
ok
[root@web02 ~]# test -e /etc && echo ok || echo err
ok

  • 清空日志目錄
[root@web02 ~]# cat clear-log.sh 
#!/bin/bash
# clear /var/log/messages

#確定當前是root用戶
if [ $USER != "root" ];then
    echo "你必須使用root用戶才能執(zhí)行腳本"
    exit 10    #直接退出场钉,并返回10
fi

#判斷文件是否存在
if [ ! -f /var/log/messages ];then
    echo "文件不存在"
    exit 12
fi

#保留最近100行的日志內容
tail -100 /var/log/messages > /var/log/mesg.tmp

#日志清理
>/var/log/messages
#cat /dev/null > /var/log/messages

mv /var/log/mesg.tmp /var/log/messages
echo "Logs clean up"
注:退出碼 exit ,取值范圍是0-255

例: exit 退出bash,并返回一個值
[root@web02 ~]# ssh 192.168.1.63
root@192.168.1.63's password: 123456
Last login: Mon May 28 20:37:41 2018 from xuegod63.cn
[root@web02 ~]# 
[root@web02 ~]# exit 10
登出
Connection to 192.168.1.63 closed.
[root@web02 ~]# echo $?
10


4培廓、流程控制過程中復雜條件和通配符

  • 4.1 兩個條件都為真或有一個為真就執(zhí)行

判斷第一種:
if [ 條件判斷一 ] && (||) [ 條件判斷二 ]; then
命令一
elif [ 條件判斷三 ] && (||) [ 條件判斷四 ]; then
命令二
else
執(zhí)行其它
fi

判斷第二種
if [條件判斷一 -a (-o) 條件判斷二 -a (-o) 條件判斷三]; then
elif [條件判斷三 -a (-o) 條件判斷四 ]; then
else
執(zhí)行其它
fi

判斷第三種
if [[條件判斷一 && (||) 條件判斷二 ]]; then
elif [[ 條件判斷三 && (||) 條件判斷四 ]]; then
else
執(zhí)行其它
fi

例1:設置umask

參考: 
[root@web02 ~]# vim /etc/profile

 59 if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
 60     umask 002
 61 else
 62     umask 022
 63 fi                                                                                                   
實操:
[root@web02  ~]# vim  umask.sh 
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    echo "umask 002"
else
    echo "i am root :umask 022"
fi
[root@web02 ~]# bash umask.sh 
i am root :umask 022

例2:[[ 惹悄。。肩钠。 ]]和[ 泣港。。价匠。]的區(qū)別

[[… ]] 運算符是[… ]運算符的擴充当纱;[[… ]]能夠支持 *,< 踩窖、>等符號且不需要轉義符

例1:
[root@web02 ~]# if [[ $USER == r* ]] ; then echo "hello,$USER" ; else echo $USER not ; fi
hello,root
注: $USER == r*對比時坡氯,  r* 表示以r開頭的任意長度字符串,這樣就包括root
當只有一個[] 方括號時:
[root@web02 ~]# if [ $USER == r* ] ; then echo "hello,$USER" ; else echo $USER not ; fi
root not
#對比時r* ,就表示兩個字符串 r*
也可以這樣寫:
[root@web02 ~]# if [[ $USER == [a-z]oot ]] ; then echo "hello,$USER" ; else echo $USER not ; fi

  • [[ 箫柳。手形。。 ]]和[ 悯恍。库糠。。]的區(qū)別匯總:

1涮毫、所有的字符與邏輯運算符直接用“空格”分開瞬欧,不能連到一起。
2罢防、在[… ]表達式中艘虎,常見的> 、<需要加轉義符\咒吐,大小比較
3野建、進行邏輯運算符&& 、||比較時恬叹;如果用的[ ]符號贬墩,則用在外面,如[… ] && [… ] || [ …]如果在[…]里面進行邏輯與或的比較妄呕,則用-a、-o進行表示嗽测,如[ x = y –a x < z –o x > m ]
4绪励、[[… ]] 運算符只是[… ]運算符的擴充;能夠支持< 唠粥、>符號運算不需要轉義符疏魏;它還是以字符串比較大小。里面支持邏輯運算符 || 晤愧、 && 大莫, 不再使用-a 、-o
5官份、[[…]] 用 && 而不是 -a 表示邏輯“與”只厘;用 || 而不是 -o表示邏輯“或”
6、[[… ]]可以進行算術擴展舅巷,而[ ... ]不可以
7羔味、[[...]]能用正則,而[...]不行
8钠右、雙括號(( ))用于數(shù)學表達式
9赋元、雙方括號號[[ ]]用于高級字符串處理,比如“模糊匹配”

4.2 shell中的通配符

  • shell常見通配符:
字符 含義 實例
* 匹配 0 或多個字符 a*b a與b之間可以有任意長度的任意字符, 也可以一個也沒有, 如aabcb, axyzb, a012b, ab。
? 匹配任意一個字符 a?b a與b之間必須也只能有一個字符, 可以是任意字符, 如aab, abb, acb, a0b搁凸。
[list] 匹配 list 中的任意單一字符 a[xyz]b a與b之間必須也只能有一個字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb媚值。
[!list] 匹配 除list 中的任意單一字符 a[!0-9]b a與b之間必須也只能有一個字符, 但不能是阿拉伯數(shù)字, 如axb, aab, a-b。
[c1-c2] 匹配 c1-c2 中的任意單一字符 如:[0-9] [a-z] a[0-9]b 0與9之間必須也只能有一個字符 如a0b, a1b... a9b护糖。
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b a與b之間只能是abc或xyz或123這三個字符串之一
例:
[root@web02 ~]#  ls /etc/*.conf
[root@web02 ~]# ls /etc/???.conf
/etc/nfs.conf  /etc/sos.conf  /etc/yum.conf
[root@web02 ~]# touch  /opt/a{1,2,3}.txt
[root@web02 ~]# ls /opt/a[123].txt
/opt/a1.txt  /opt/a2.txt  /opt/a3.txt
[root@web02 ~]# ls /opt/a[1,2,3].txt
[root@web02 ~]# ls /opt/a[13].txt
/opt/a1.txt  /opt/a3.txt


5褥芒、實戰(zhàn)-3個shell腳本實戰(zhàn)

  • 實戰(zhàn)1:編寫腳本檢查服務器運行狀態(tài)
[root@web02 ~]# vim status.sh
#!/bin/bash
if [ $# -ge 1 ] ; then
        systemctl status $1 > /dev/null
   if [ $? -eq 0 ] ; then
        echo "$1 服務正在運行"
   else
        systemctl start $1
   fi
else
          echo "執(zhí)行腳本的格式"
          echo "sh $0 服務名"
fi

  • 實戰(zhàn)2:根據(jù)學生的成績判斷 學生的優(yōu)劣
[root@web02 ~]# vim  check_cj.sh  
#!/bin/bash
read  -p   "請輸入你的成績  "   cj
if   [ $cj   -ge  0  ]    &&  [  $cj  -le  59  ]  ;then
     echo   "補考"
elif  [  $cj  -ge  60 ]    &&  [  $cj  -le  70   ]   ;then
    echo  "良好"
elif     [ $cj -ge 71 ]     &&  [ $cj   -le  85 ]   ;then
   echo  "好"
elif [ $cj  -ge 86 ]     &&  [   $cj  -le  100 ]   ;then
    echo  "優(yōu)秀" 
else
   echo "成績的有效范圍是0-100之間"
fi

  • 實戰(zhàn)3:每周一晚上3:00 ,備份數(shù)據(jù)庫服務器上webdb庫的所有數(shù)據(jù)到系統(tǒng)的/mysqlbak目錄里椅文,使用系統(tǒng)日期做備份文件名
[root@web02 ~]# vim   mysqlbak.sh
#!/bin/bash
baknamefile=`date +%Y-%m-%d`
bakdir=/mysqlbak
user=root
password=123
dbname=webdb
[  -e  $bakdir   ]   ||    mkdir    $bakdir
mysqldump   -u$user   -p$password  --flush-logs  $dbname   >    $bakdir/${baknamefile}-webdb.sql

因為mysql咱們還沒有學喂很,這里以/etc目錄來做實驗:
[root@xuegod63 ~]# vim etcbak.sh
#!/bin/bash
baknamefile=`date +%Y-%m-%d`
bakdir=/etcbak
srcdir=/etc
[  -e  $bakdir   ]   ||    mkdir    $bakdir
tar zcvf ${bakdir}/${baknamefile}-etc.tar.gz /etc/
echo "========================"
ls -lh ${bakdir}/${baknamefile}-etc.tar.gz
echo "back etc is ok!"

[root@web02 ~]# chmod +x  etcbak.sh

[root@web02 ~]# crontab  -e
0 3 * * *  /root/etcbak.sh  2>&1 > /dev/null


6、總結:

1. read命令鍵盤讀取變量的值
2. 流程控制語句if
3. test測試命令
4. 流程控制過程中復雜條件和通配符
5. 實戰(zhàn)-3個shell腳本實戰(zhàn)

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末皆刺,一起剝皮案震驚了整個濱河市少辣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌羡蛾,老刑警劉巖漓帅,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異痴怨,居然都是意外死亡忙干,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門浪藻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捐迫,“玉大人,你說我怎么就攤上這事爱葵∈┐鳎” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵萌丈,是天一觀的道長赞哗。 經(jīng)常有香客問我,道長辆雾,這世上最難降的妖魔是什么肪笋? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮度迂,結果婚禮上藤乙,老公的妹妹穿的比我還像新娘。我一直安慰自己英岭,他們只是感情好湾盒,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诅妹,像睡著了一般罚勾。 火紅的嫁衣襯著肌膚如雪毅人。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天尖殃,我揣著相機與錄音丈莺,去河邊找鬼。 笑死送丰,一個胖子當著我的面吹牛缔俄,可吹牛的內容都是我干的。 我是一名探鬼主播器躏,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼俐载,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了登失?” 一聲冷哼從身側響起遏佣,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎揽浙,沒想到半個月后状婶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡馅巷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年膛虫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钓猬。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡稍刀,死狀恐怖,靈堂內的尸體忽然破棺而出敞曹,到底是詐尸還是另有隱情掉丽,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布异雁,位于F島的核電站,受9級特大地震影響僧须,放射性物質發(fā)生泄漏纲刀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一担平、第九天 我趴在偏房一處隱蔽的房頂上張望示绊。 院中可真熱鬧,春花似錦暂论、人聲如沸面褐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽展哭。三九已至湃窍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間匪傍,已是汗流浹背您市。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留役衡,地道東北人茵休。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像手蝎,于是被迫代替她去往敵國和親榕莺。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,367評論 0 5
  • 個人學習批處理的初衷來源于實際工作棵介;在某個迭代版本有個BS(安卓手游模擬器)大需求钉鸯,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,685評論 0 11
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,325評論 0 2
  • 1.建立和運行shell程序 什么是shell程序呢? 簡單的說shell程序就是一個包含若干行shell或者li...
    運維阿文閱讀 1,476評論 0 9
  • 1815-1158補單到貨!頭層牛皮休閑半拖鞍时、好看好穿又好搭~ 白色 35~39 跟高2.3cm 實拍
    浩浩然閱讀 546評論 0 1