bash 在线维基百科:http://zh.wikipedia.org/wiki/Bash




bash  的常用快捷键

    Ctrl+p  重复上一次命令

     Ctrl+a   跳到前一个字符

     Ctrl+k   取消

     Ctrl+r   向前查找用过的命令

     Ctrl+k   删除提示符后全部字符

     Ctrl+u   删除提示符前的所有字符     

     Ctrl+e   转到字符尾部

     Ctrl+a   光标移到行首

     Ctrl+e   光标移动到行尾

     Ctrl+d   退出当前shell

     Ctrl+l   清屏= clear

     Ctrl+u   清除光标前至行首的所有内容

     Ctrl+k   清除光标前至行尾的所有内容


     !!       :执行上一条命令

     !if      :执行最近的以if开头的命令,eg:!ifconfig

     !ifconfig:p  :仅打印输出,而不执行

     !$        :上一条命令的最后一个参数

     !$:p      :打印输出!$ 的内容

     !*        :上一条命令的所有参数

     !*:p      :打印输出!*的内容

     ^ls       :删除上一条命令中的ls

     ^ls^cat   :将上一条命令中的ls替换为cat

     ^ls^cat^  :将上一条命令中的所以的ls替换为cat     


bash shell  常用判断类型


 数字的判断

     num1 -eq num2    两数相等为真 

        num1 -gt num2     num1大于num2为真 
        num1 -ge num2    num1大于等于num2为真 
        num1 -lt num2      num1小于num2为真 
        num1 -le num2    num1小于等于num2为真

                             

>
数值大于 注释 1
<
数值小于 注释 1
>=
数值大于等于 注释 1
<=
数值小于等于 注释 1
==
数值等于 注释 1
!=
数值不等于 注释 1


    

 文件的判断

     -r file    用户可读为真

     -w file    用户可写为真

     -x file    用户可执行为真

     -f file    文件是文件为真

     -d file    文件是目录为真

     -c file    文件为字符特殊文件为真

     -b file    文件为块特殊文件为真

     -s file    文件大小非0时为真

  

 逻辑判断

    -a         与

    -o         或

    !         非

操作符描述
&按位与运算
|按位或运算
^按位异或运算
~按位取反运算
<<按位左移运算
>>按位右移运算
&=
按位与赋值运算
|=
按位或赋值运算
^=
按位异或赋值运算
<<=
按位左移赋值运算
>>=
按位右移赋值运算




条件判断式if

  if 单分支

         if 条件判断命令 ; then
                命令序列
          fi


  if 双分支

        if 条件判断式 ;then

             当判断条件成立时,可以进行的命令输出       

         else

              当判断条件不成立时,可以进行的命令输出

         fi

        

   if 多分支

        if 条件判断式一;then

                当判断条件一成立时,可以进行的命令输出

         elif 条件判断式二 ;then    

                 当判断条件二成立时,可以进行的命令输出

         else

                 当判断条件一、二都不成立时,可以进行的命令输出

         fi

        

    eg:

       判断一个用户是否存在,如果存在说明已存在,并显示其ID号和shell;不存在就显示用户不存在。

wKioL1PdtaXyRXnLAAEbPU0Ydr8697.jpg



    eg:

        如果当前主机的主机名为空,或者为"localhost",则将其修改为90sec

wKiom1PdtVrB9ZJeAACvUF8yr90253.jpg

eg:利用if多分支判断成绩

    wKioL1PduI-TooEZAAEHtiBovU0939.jpg


for语句的格式:

for VAR_NAME in LIST

do

循环体

done

    eg:

        创建10个用户,user1-10,如果用户不存在,才添加,并以绿色显示添加成功;如果存在,则以红色显示已经有此用户;

wKioL1PdwaLxLD1QAAEiga6CSV4739.jpg

case判断语句:

case 变量引用 in

PATTERN1)

分支1

;;

PATTERN2)

分支2

;;

...

*)

分支n

;;

esac


    eg:    

        由用户从键盘输入一个字符,并判断该字符是否为字母、数字或者其他字符,


wKiom1PdwsmRMi7CAAD_5R2sm4E285.jpg






后期会更新 大量实用案例,敬请关注————