zoukankan      html  css  js  c++  java
  • shell基本的语法

    一,概念

    1、基本格式 Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。

    shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为 bash Shell。

    shell也是一门编程语言(解释型的编程语言),即shell脚本(就是在用linux的shell命令编程)。

    其使用的格式代码写在普通文本文件中,通常以.sh为后缀名

    一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不 同的。 

    执行脚本: sh hello.sh
    或者给脚本添加x权限,直接执行 ./hello.sh

    如:chmod +x hello.sh

            ./hello.sh

    二,语法


    1.变量 变量=值(例如A=5)

    注意:等号两侧不能有空格 变量名一般习惯为大写 使用变量:$A
    定义变量 A=1 查看变量 echo A输出A   ,echo $A 输出1,

    查看当前进程中所有变量 set

    撤销变量 unset A 声明静态变量,不能unset readonly B=2
    注意:变量中的值没有类型,全部为字符串。

    问题:变量a=hello,以下选项哪个可以输出hello luban A、echo $a+"luban" B、echo  a+luban

               C、echo $aluban D、echo $a"luban"   E、echo ${a}luban

    答案:D和E


    2、算数运算

          1)用expr expr $A + $B 赋值 C=`expr $A + $B` 注意中间空格 ,即expr 和$A, $A和+ ,+和$B都要用空格隔开

         示例:     A=100,B=100      输出 expr  $A + $B  结果是300

           2)用(()) 处理

          示例: 赋值 A=$((1+2))   echo  $A=3

       自增 count=1   ((count++))    echo $count 3)用$[] a=$[1+2]    echo $a 4)用let i=1 let i++ let i=i+2


    3、扫描器 read   

    若:read  str   aaaaaa

    则   echo $ str  aaaaa


    5、流程控制

    1、语法
    if    条件    then    执行代码      

               elif    条件      

                      then    执行代码      

                          else        

                              执行代码 fi
    2、示例 : #!/bin/bash   //这是注释

                       read -p "please input your name:" NAME //输入NAME,其中-p表示提示:please input your name

                             if [ $NAME = root ]        then  //当$NAME的值是root
                                   echo  "hello ${NAME},welcome!"      //输出hello ${NAME},welcome

                                    elif [ $NAME  =  luban ]        then    echo "hello ${NAME},welcome!"    //    elif 是else if的简写

                                        else    echo "SB,get out here! "  fi //fi表示结束

                   注意:在shell中,上一句错误不影响执行下一句。
                   以下脚本执行结果: #!/bin/bash lss echo "hello"

                 主要注意空格![ $NAME  =  luban ] 之间都要空格

     

  • 相关阅读:
    End of 2007, where are you?
    2007年,前进!
    PHP框架Yii快速搭建高并发网站
    需要 gmail 与 wallop 邀请的 请留言给 email
    开始关注Mono了
    百度,阿里巴巴,google
    重返 cnblogs.com
    解决VMware虚拟机桥接不能上网的问题
    SecureCRT
    linux的ssh和sshd配置
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819639.html
Copyright © 2011-2022 走看看