• 一  条件判断式语句

1.按文件类型进行判断

测试类型 作用
-b 文件 判断文件是否存在,并且是否为块设备文件(是块设备文件为真)
-c 文件 判断文件是否存在,并且是否为字符设备文件(是字符设备设备文件为真)
-d 文件 判断文件是否存在,并且是否为目录文件(是目录文件为真)
-e 文件 判断文件是否存在,(存在为真)
-f 文件 判断文件是否存在,并且是否为普通文件(是普通文件为真)
-L 文件 判断文件是否存在,并且是否为符号链接文件(是符号链接文件为真)
-p 文件 判断文件是否存在,并且是否为管道文件(是管道文件为真)
-s 文件 判断文件是否存在,并且是否为非空(非空为真)
-S 文件 判断文件是否存在,并且是否为套接字文件(是套接字文件为真)

两种判断格式

  • test -e /root/install.log
  • [ -e /root/install.log ]  
  1. [root@MacBook-Pro ~]# test -e /etc/passwd
  2. [root@MacBook-Pro ~]# [ -e /etc/passwd ]
  3. [root@MacBook-Pro ~]# echo $?
  4.  
  5. [root@MacBook-Pro ~]# test -e /etc/passwd
  6. [root@MacBook-Pro ~]# echo $?
  7.  
  8. [root@MacBook-Pro ~]# [ -e /etc/passwdhsdfkjashdf ]
  9. [root@MacBook-Pro ~]# echo $?
  10.  
  11. [root@MacBook-Pro ~]# [ -d /root ] && echo "yes" || echo "no"
  12. yes
  13. [root@MacBook-Pro ~]#

2.按照文件权限进行判断

测试选项 作用
-r 文件 判断该文件是否存在,并且该文件是否拥有读权限 (有读权限为真)
-w 文件 判断该文件是否存在,并且该文件是否拥有写权限 (有写权限为真)
-x 文件 判断该文件是否存在,并且该文件是否拥有执行权限 (有执行权限为真)
-u 文件 判断该文件是否存在,并且该文件是否拥有SUID权限 (有SUID权限为真)
-g 文件 判断该文件是否存在,并且该文件是否拥有SGID权限 (有SGID权限为真)
-k 文件 判断该文件是否存在,并且该文件是否拥有SBit权限 (有SBit权限为真)
  1. [ucm@MacBook-Pro testpace]$ ll
  2. 总用量
  3. -rw-r--r--. ucm ucm 12 : stu.log
  4. [ucm@MacBook-Pro testpace]$ [-w stu.log] && echo yes || echo no
  5. bash: [-w: 未找到命令...
  6. no
  7. #注意 :[] 括号中的判断式必须有空格
  8. [ucm@MacBook-Pro testpace]$ [ -w stu.log ] && echo yes || echo no
  9. yes
  10. [ucm@MacBook-Pro testpace]$
    #该例子中该文件的权限只要有写权限,就判断为真,不管是其拥有者权限,还是所属组的权限。---------即:不能判断指定的权限。

3.两个文件之间进行比较

测试选项 作用
文件1 -nt 文件2 判断文件1的修改时间是否比文件2新 (如果新,则为真)
文件1 -ot 文件2 判断文件1的修改时间是否比文件2旧 (如果旧,则为真)
文件1 -ef 文件2 判断文件1与文件2的Inode号是否一致;可以理解为两个文件是否为同一个文件。用于判断是否是硬连接
  1. [ucm@MacBook-Pro testpace]$ ll
  2. 总用量
  3. -rw-r--r--. ucm ucm 12 : stu.log
  4. [ucm@MacBook-Pro testpace]$ pwd
  5. /home/ucm/testpace
  6. [ucm@MacBook-Pro testpace]$ ln /home/ucm/testpace/stu.log /tmp/pace/stu.txt
  7. ln: 无法创建硬链接"/tmp/pace/stu.txt" => "/home/ucm/testpace/stu.log": 没有那个文件或目录
  8. [ucm@MacBook-Pro testpace]$ ln /home/ucm/testpace/stu.log /tmp/stu.txt
  9. [ucm@MacBook-Pro testpace]$ ll
  10. 总用量
  11. -rw-r--r--. ucm ucm 12 : stu.log
  12. [ucm@MacBook-Pro testpace]$ cd /tmp/
  13. [ucm@MacBook-Pro tmp]$ ll
  14. 总用量 ***
  15. -rw-r--r--. ucm ucm 12 : stu.txt
  16. [ucm@MacBook-Pro tmp]$ [ /home/ucm/testpace/stu.log -ef /tmp/stu.txt ] && echo yes || echo no
  17. yes
  18. [ucm@MacBook-Pro tmp]$

4.两个整数之间的比较

测试选项 作用
整数1 -eq 整数2 判断整数1是否和整数2相等 (相等为真)
整数1 -ne 整数2 判断整数1是否与整数2不相等 (不相等为真)
整数1 -gt 整数2 判断整数1是否大于整数2 (大于为真)
整数1 -lt 整数2 判断整数1是否小于整数2 (小于为真)
整数1 -ge 整数2 判断整数1是否大于等于整数2 (大于等于为真)
整数1 -le 整数2 判断整数1是否小于等于整数2 (小于等于为真)
  1. JideMacBook-Pro:testpace jixiaodong$ [ -ge ] && echo yes || echo no
  2. yes
  3. JideMacBook-Pro:testpace jixiaodong$ [ -le ] && echo yes || echo no
  4. no
  5. JideMacBook-Pro:testpace jixiaodong$

5.字符串的判断

测试选项 作用
-z 字符串 判断字符串是否为空 (为空返回真)
-n 字符串 判断字符串是否非空 (非空返回真)
字符串1 == 字符串2 判断字符串1是否与字符串2相等 (相等返回真)
字符串 != 字符串2 判断字符串1是否与字符串2不相等 (不相等返回真)
  1. [ucm@MacBook-Pro ~]$ name=echohello
  2. [ucm@MacBook-Pro ~]$ [ -z "$name" ] && echo yes || echo no
  3. no
  4. [ucm@MacBook-Pro ~]$ [ -n "$name" ] && echo yes || echo no
  5. yes
  6. [ucm@MacBook-Pro ~]$
  1. [ucm@MacBook-Pro ~]$ aa=
  2. [ucm@MacBook-Pro ~]$ bb=22
    此处是判断的字符串相等,如果需要判断数值相等,则需要使用 -ep
  3. [ucm@MacBook-Pro ~]$ [ $aa==$bb ] && echo yes || echo no
  4. yes
  5. [ucm@MacBook-Pro ~]$ echo $AA
  6.  
  7. [ucm@MacBook-Pro ~]$ echo $aa
  8.  
  9. [ucm@MacBook-Pro ~]$ echo $bb
  10.  
  11. [ucm@MacBook-Pro ~]$ [ "$aa"=="$bb" ] && echo yes || echo no
  12. yes
    ==号左右需要有空格!!!
  13. [ucm@MacBook-Pro ~]$ [ "$aa" == "$bb" ] && echo yes || echo no
  14. no
  15. [ucm@MacBook-Pro ~]$

6.多重条件判断

测试选项 作用
判断式1 -a 判断式2 逻辑与
判断式1 -o 判断式2 逻辑或
! 判断 逻辑非
  1. [ucm@MacBook-Pro ~]$ echo $aa
  2.  
  3. [ucm@MacBook-Pro ~]$ echo $bb
  4.  
  5. [ucm@MacBook-Pro ~]$ [ -n "$aa" -a "$aa" -gt "$bb" ] && echo yes || echo no
  6. no
  7. [ucm@MacBook-Pro ~]$

二  单分支if语句

if [ 条件判断式 ] ;then

  程序

fi

或者:

if [ 条件判断式 ]

  then

  程序

fi

  1. [ucm@MacBook-Pro testpace]$ cat user.sh
  2. #!/bin/bash
  3.  
  4. test=$(env | grep "USER" | cut -d "=" -f )
  5.  
  6. if [ "$test" == ucm ]
  7. then
  8. echo "now user is $test"
  9. fi
  10. [ucm@MacBook-Pro testpace]$ ./user.sh
  11. now user is ucm
  12. [ucm@MacBook-Pro testpace]$
  1. [ucm@MacBook-Pro testpace]$ cat df.sh
  2. #!/bin/bash
  3.  
  4. source=$(df -h | grep "/cl-root" | awk '{print $5}' | cut -f -d "%")
  5.  
  6. if [ $source -gt ]
  7. then
  8. echo "this is full"
  9. fi
  10. [ucm@MacBook-Pro testpace]$ ./df.sh
  11. this is full
  12. [ucm@MacBook-Pro testpace]$

三  双分支条件语句

if [ 条件判断式 ]

  then

    条件成立时,执行

  else

    条件不成立时,执行

fi

  1. [ucm@MacBook-Pro testpace]$ ll
  2. 总用量
  3. -rw-rw-r--. ucm ucm 1 : =
  4. -rwxr-xr-x. ucm ucm 1 : df.sh
  5. -rwxr-xr-x. ucm ucm 1 : dir.sh
  6. -rwxr-xr-x. ucm ucm 1 : echo.sh
  7. -rw-r--r--. ucm ucm 12 : stu.log
  8. -rwxr-xr-x. ucm ucm 1 : user.sh
  9. [ucm@MacBook-Pro testpace]$ pwd
  10. /home/ucm/testpace
  11. [ucm@MacBook-Pro testpace]$ ./dir.sh
  12. please input a dir: /home/ucm
  13. this is dir
  14. [ucm@MacBook-Pro testpace]$ ./dir.sh
  15. please input a dir: /home/ucm/testpace/stu.log
  16. this is not dir
  17. [ucm@MacBook-Pro testpace]$ cat dir.sh
  18. #!/bin/bash
  19.  
  20. read -t -p "please input a dir: " dir
  21.  
  22. if [ -d "$dir" ]
  23. then
  24. echo "this is dir"
  25.  
  26. else
  27. echo "this is not dir"
  28. fi
  29. [ucm@MacBook-Pro testpace]$
  1. [ucm@MacBook-Pro testpace]$ cat apache.sh
  2. #!/bin/bash
  3.  
  4. apache=$(ps -aux | grep httpd | grep -v "grep")
  5.  
  6. if [ -n "$apache" ]
  7. then
  8. echo "$(date) httpd is ok !" >> /tmp/apache.log
  9. else
  10. service httpd start
    # 此处写成service httpd start,并不稳妥,我的linux的/etc/rc.d/init.d/中没有找到httpd文件。
  11. echo "$(date) restart httpd !" >> /tmp/apache.log
  12. fi
  13. [ucm@MacBook-Pro testpace]$

四  多分支if语句

if [ 条件判断式1 ]

  then

    条件判断式1成立时,执行程序1

elif [ 条件判断式2 ]

  then

    条件判断式2成立时,执行程序2

····

else

  当所有条件判断式都不成立时,执行此程序

fi

举个例子:计算器

  1. [ucm@MacBook-Pro testpace]$ cat calc.sh
  2. #!/bin/bash
  3.  
  4. read -t -p "请输入第一个数字:" num1
  5. read -t -p "请输入第二个数字:" num2
  6. #通过read命令接收用户输入,并存储到变量num1/num2中
  7. read -t -p "请输入运算类型【+-*/】:" ope
  8. #通过read命令接收计算的类型
  9.  
  10. if [ -n "$num1" -a -n "$num2" -a -n "$ope" ]
  11. then
  12. test1=$(echo $num1 | sed 's/[0-9]//g')
  13. test2=$(echo $num2 | sed 's/[0-9]//g')
  14. if [ -z "$test1" -a -z "$test2" ]
  15. then
  16. if [ "$ope" == "+" ]
  17. then
  18. result=$(( $num1 + $num2 ))
  19. elif [ "$ope" == '-' ]
  20. then
  21. result=$(( $num1 - $num2 ))
  22. elif [ "$ope" == '*' ]
  23. then
  24. result=$(( $num1 * $num2 ))
  25. elif [ "$ope" == '/' ]
  26. then
  27. if [ "$num2" != '' ]
  28. then
  29. result=$(( $num1 / $num2 ))
  30. else
  31. echo "分母不可为0"
  32. exit
  33. fi
  34. else
  35. echo "请输入正确的运算符"
  36. exit
  37. fi
  38. else
  39. echo "请输入数字"
  40. exit
  41. fi
  42. else
  43. echo "请输入数值与运算类型"
  44. exit
  45. fi
  46.  
  47. echo "$num1 $ope $num2: $result"
  48. [ucm@MacBook-Pro testpace]$ ./calc.sh
  49. 请输入第一个数字:
  50. 请输入第二个数字:
  51. 请输入运算类型【+-*/】:+
  52. + :
  53. [ucm@MacBook-Pro testpace]$ ./calc.sh
  54. 请输入第一个数字:
  55. 请输入第二个数字:
  56. 请输入运算类型【+-*/】:-
  57. - :
  58. [ucm@MacBook-Pro testpace]$ ./calc.sh
  59. 请输入第一个数字:
  60. 请输入第二个数字:
  61. 请输入运算类型【+-*/】:*
  62. * :
  63. [ucm@MacBook-Pro testpace]$ ./calc.sh
  64. 请输入第一个数字:
  65. 请输入第二个数字:
  66. 请输入运算类型【+-*/】:/
  67. / :
  68. [ucm@MacBook-Pro testpace]$ ./calc.sh
  69. 请输入第一个数字:
  70. 请输入第二个数字:
  71. 请输入运算类型【+-*/】:/
  72. 分母不可为0
  73. [ucm@MacBook-Pro testpace]$ ./calc.sh
  74. 请输入第一个数字:
  75. 请输入第二个数字:
  76. 请输入运算类型【+-*/】:/
  77. / :
  78. [ucm@MacBook-Pro testpace]$ ./calc.sh
  79. 请输入第一个数字:
  80. 请输入第二个数字:
  81. 请输入运算类型【+-*/】:*
  82. * :
  83. [ucm@MacBook-Pro testpace]$

举个例子:判断输入的文件类型

  1. [ucm@MacBook-Pro testpace]$ cat file.sh
  2. #!/bin/bash
  3.  
  4. read -t -p "please input filename : " file
  5.  
  6. if [ -z "$file" ]
  7. then
  8. echo "必须输入信息"
  9. exit
  10. elif [ ! -e "$file" ]
  11. then
  12. echo "请输入文件名"
  13. exit
  14. elif [ -f "$file" ]
  15. then
  16. echo "$file 是一个普通文件"
  17. elif [ -d "$file" ]
  18. then
  19. echo "$file 是一个目录文件"
  20. else
  21. echo "$file 是其他类型文件"
  22.  
  23. fi
  24. [ucm@MacBook-Pro testpace]$ ./file.sh
  25. please input filename :
  26. 必须输入信息
  27. [ucm@MacBook-Pro testpace]$ ./file.sh
  28. please input filename : /home/ucm
  29. /home/ucm 是一个目录文件
  30. [ucm@MacBook-Pro testpace]$ ./file.sh
  31. please input filename : /home/ucm/testpace/file.sh
  32. /home/ucm/testpace/file.sh 是一个普通文件
  33. [ucm@MacBook-Pro testpace]$ ./file.sh
  34. please input filename : dfadasf
  35. 请输入文件名
  36. [ucm@MacBook-Pro testpace]

五  多分支case语句

case $变量名 in

  "值1")

    如果变量值等于值1,则执行程序1

    ;;

  “值2”)

    如果变量值等于值2,则执行程序2

    ;;

---省略其他条件分支---

  *)

    如果变量值不是以上的值,则执行此程序

  ;;

esac

举个例子:选项

  1. [ucm@MacBook-Pro testpace]$ ./case1.sh
  2. consumer choose
  3. cbg choose
  4. ebg choose
  5. 请输入你的选择代号:
  6. your choose egb
  7. [ucm@MacBook-Pro testpace]$ ./case1.sh
  8. consumer choose
  9. cbg choose
  10. ebg choose
  11. 请输入你的选择代号:
  12. your choose consumer
  13. [ucm@MacBook-Pro testpace]$ ./case1.sh
  14. consumer choose
  15. cbg choose
  16. ebg choose
  17. 请输入你的选择代号:
  18. your choose cbg
  19. [ucm@MacBook-Pro testpace]$ ./case1.sh
  20. consumer choose
  21. cbg choose
  22. ebg choose
  23. 请输入你的选择代号:
  24. 请输入正确的选择!
  25. [ucm@MacBook-Pro testpace]$ cat case1.sh
  26. #!/bin/bash
  27.  
  28. echo "consumer choose 1"
  29. echo "cbg choose 2"
  30. echo "ebg choose 3"
  31.  
  32. read -t -p "请输入你的选择代号:" cho
  33.  
  34. case $cho in
  35. "")
  36. echo "your choose consumer"
  37. ;;
  38. "")
  39. echo "your choose cbg"
  40. ;;
  41. "")
  42. echo "your choose egb"
  43. ;;
  44. *)
  45. echo "请输入正确的选择!"
  46. ;;
  47. esac
  48. [ucm@MacBook-Pro testpace]$

六  for循环

  语法一

for 变量 in 值1 值2 值3 值4 ····

  do

    程序

  done

eg:

  1. [ucm@MacBook-Pro testpace]$ cat for.sh
  2. #!/bin/bash
  3.  
  4. for i in
  5. do
  6. echo $i
  7. done
  8.  
  9. [ucm@MacBook-Pro testpace]$ ./for.sh
  10.  
  11. [ucm@MacBook-Pro testpace]$
  1. [ucm@MacBook-Pro testpace]$ cat untar-gz.sh
  2. #!/bin/bash
  3. #批量解压缩脚本
  4.  
  5. cd /home/ucm/testpace
  6. ls *.tar.gz > ls.log
  7. for i in $(cat ls.log)
  8. do
  9. tar -zxvf $i &>/dev/null
  10. done
  11. rm -rf /home/ucm/testpace/ls.log
  12. [ucm@MacBook-Pro testpace]$

上方脚本中tar -zxvf $i &>/dev/null 可以写成tar -zxf $i &>/dev/null 因为在脚本中执行,用户不需要查看输出,所以可以省略v,详细信息不作输出。

  语法二

for ((初始值;循环控制条件;变量变化))

  do

    程序

  done

  1. [ucm@MacBook-Pro testpace]$ cat add.sh
  2. #!/bin/bash
  3.  
  4. #从1加到100
  5.  
  6. s=
  7. for((i=;i<=;i++))
  8. do
  9. s=$(( $s + $i ))
  10. done
  11. echo "The sum of 1+2+~~~+99+100 is $s"
  12. [ucm@MacBook-Pro testpace]$ ./add.sh
  13. The sum of ++~~~++ is
  14. [ucm@MacBook-Pro testpace]$
  1. [ucm@MacBook-Pro testpace]$ cat useradd.sh
  2. #!/bin/bash
  3. #批量添加指定数量的用户
  4.  
  5. read -p "Please input user name : " -t name
  6. read -t -p "Please input the number of users : " num
  7. read -t -p "Please input the passwd of user : " pass
  8.  
  9. if [ -n "$name" -a -n "num" -a -n "$pass" ]
  10. then
  11. y=$( echo $num | sed 's/[0-9]//g')
  12. if [ -z "$y" ]
  13. then
  14. for(( i=;i<=$num;i++ ))
  15. do
  16. /usr/sbin/useradd $name$i &>/dev/null
  17. #用/usr/bin/passwd --stdin接收$pass的信息,给每个用户赋予初始密码
  18. echo $pass | /usr/bin/passwd --stdin $name$i &>/dev/null
  19. done
  20. else
  21. echo "请输入正整数"
  22. exit
  23. fi
  24. else
  25. echo "input info is null !!!"
  26. exit
  27. fi
  28. [ucm@MacBook-Pro testpace]$ sudo ./useradd.sh
  29. Please input user name : useraa
  30. Please input the number of users :
  31. Please input the passwd of user :
  32. [ucm@MacBook-Pro testpace]$ cat /etc/passwd | grep useraa
  33. useraa1:x::::/home/useraa1:/bin/bash
  34. useraa2:x::::/home/useraa2:/bin/bash
  35. useraa3:x::::/home/useraa3:/bin/bash
  36. [ucm@MacBook-Pro testpace]$

批量删除一般用户

  1. [ucm@MacBook-Pro testpace]$ cat userdel.sh
  2. #!/bin/bash
  3.  
  4. #批量删除用户
  5.  
  6. for i in $(cat /etc/passwd | grep -v root | grep "/bin/bash" | cut -f -d ":")
  7. do
  8. userdel -r $i
  9. done
  10. [ucm@MacBook-Pro testpace]$

七  while循环和until循环

while  条件成立,则进行循环

until  条件不成立,则进行循环

while [ 条件判断式 ]

  do

    程序

  done

  1. [ucm@MacBook-Pro testpace]$ cat whileadd.sh
  2. #!/bin/bash
  3. #从1加到100
  4. i=
  5. s=
  6. while [ $i -le ]
  7. #如果变量i的值小于等于100,则执行循环
  8. do
  9. s=$(( $s + $i ))
  10. i=$(( $i + ))
  11. done
  12. echo "The sum is : $s"
  13. [ucm@MacBook-Pro testpace]$ ./whileadd.sh
  14. The sum is :
  15. [ucm@MacBook-Pro testpace]$

until

  1. [ucm@MacBook-Pro testpace]$ cat whileadd.sh
  2. #!/bin/bash
  3. #从1加到100
  4. i=
  5. s=
  6. #while [ $i -le ]
  7. #如果变量i的值小于等于100,则执行循环
  8. until [ $i -gt ]
  9. #循环直到变量i的值大于100,则停止循环
  10. do
  11. s=$(( $s + $i ))
  12. i=$(( $i + ))
  13. done
  14. echo "The sum is : $s"
  15. [ucm@MacBook-Pro testpace]$ ./whileadd.sh
  16. The sum is :
  17. [ucm@MacBook-Pro testpace]$

shell条件判断与流程控制的更多相关文章

  1. [Shell]条件判断与流程控制:if, case, for, while, until

    ---------------------------------------------------------------------------------------------------- ...

  2. Shell脚本 (三) 条件判断 与 流程控制

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 六.条件判断 1.基本语法 [ condition ](注意condition 前后要有空格) 注意:条 ...

  3. shell编程-条件判断与流程控制

    1.条件判断式 按照文件类型进行判断: 两种判断格式: test -e /root/install.log [ -e /root/install.log ] 判断命令是否正确执行: [ -d /roo ...

  4. shell条件测试和流程控制

    一.条件测试操作 1.test 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值 格式:test 表达式 2.常见的测试类型 ①测试文件状态 格式:[ 操作符 文件 ...

  5. Shell条件测试和流程控制-4

  6. 【重点】Shell入门教程:流程控制(3)条件判断式的真假值

    之前曾提到,在Bash中什么是真什么是假,是以命令的结束状态是否为0来做判断.传回0,即为真:传回非0,即为假. 在Bash中,这种可以影响程序流程的式子,称为条件判断式.判断式的操作数分成“单元”及 ...

  7. 【重点】Shell入门教程:流程控制(2)条件判断的写法

    第三节:条件判断的写法 if条件判断中,if的语法结构中的“条件判断”可以有多种形式.测试结果是真是假,就看其传回的值是否为0. 条件测试的写法,有以下10种: 1.执行某个命令的结果 这里的命令,可 ...

  8. 《Shell脚本学习指南》学习笔记之变量、判断和流程控制

    变量 定义变量 可以使用export和readonly来设置变量,export用于修改或打印环境变量,readonly则使得变量不得修改.语法: export name[=word] ... read ...

  9. shell(shell变量、条件表达式、流程控制)

    本章内容: 变量 运算 if语句 for语句 while语句 break.continue 实例 shell变量 1.shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数 ...

随机推荐

  1. apachetop 实时监测web服务器运行状况

    apachetop 实时监测web服务器运行状况   我们经常会需要知道服务器的实时监测服务器的运行状况,比如哪些 URL 的访问量最大,服务器每秒的请求数,哪个搜索引擎正在抓取我们网站?面对这些问题 ...

  2. 开窗函数 First_Value 和 Last_Value

    在Sql server 2012里面,开窗函数丰富了许多,其中带出了2个新的函数 First_Value 和 Last Value .现在来介绍一下这2个函数的应用场景. 首先分析一下First_Va ...

  3. SNMP与MIB

    简单网络管理协议(SNMP:Simple Network Management Protocol)是一套网络管理协议,注意,SNMP是一个强大的网络管理协议,而不是"简单"的.利用 ...

  4. java工具类之Graphics

    利用重写paint()方法绘画出一个坐标轴: package huaxian; import java.awt.Color; import java.awt.FlowLayout; import ja ...

  5. Java使用MyEclipse构建webService简单案例

     什么是WebServices? 它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含.自描述.模块化的应用,可以发布.定位.通过web ...

  6. Git开发分支管理

    远程仓库有master和dev分支的情况 1. 克隆代码 git clone https://somewhere.com/master-dev.git 2. 查看所有分支 git branch --a ...

  7. 开发 ASP.NET vNext 初步总结(使用Visual Studio 14 CTP1)

    新特性: vNext又称MVC 6.0,不再需要依赖System.Web,占用的内存大大减少(从前无论是多么简单的一个请求,System.Web本身就要占用31KB内存). 可以self-host模式 ...

  8. Hello session

    1. session 随想 HTTP 的无状态,也就是说,每次请求都是独立的线程.这里所说的无状态其实就是一种隔离的意思.举个例子比如购物车,你先选择A商品,加入购物车,这里就是A线程,然后在选择B商 ...

  9. __new__静态方法

    __new__静态方法 新式类都有一个__new__的静态方法,它的原型是object.__new__(cls[, ...]) cls是一个类对象,当你调用C(*args, **kargs)来创建一个 ...

  10. 【UOJ #35】后缀排序 后缀数组模板

    http://uoj.ac/problem/35 以前做后缀数组的题直接粘模板...现在重新写一下模板 注意用来基数排序的数组一定要开到N. #include<cstdio> #inclu ...