目录
1.概述
2.shell脚本调用形式
3.shell语法初识
3.1 定义以开头:#!/bin/bash
3.2 单个“#”号代表注释当前行
4.变量
4.1 只读变量
4.2 环境变量: env
4.3 预测变量:
4.4 变量扩展: 是否存在,字符串操作
5.条件测试:
5.1 文件测试
5.2 字符串测试
5.3 数值测试
5.4 符合语句测试
6.控制语句
6.1 if语句
6.2 case
6.3 for
6.4 while
6.5 until
6.6 break continue
7.函数
1.概述

 shell命令解析器:
 系统提供 shell命令解析器: sh ash bash
 查看自己linux系统的默认解析:echo $SHELL
 2.shell脚本调用形式
 
 打开终端时系统自动调用:/etc/profile 或 ~/.bashrc
   2.1 /etc/profile
 
 
 :系统级的环境变量,开机自启动。跟windows里的“高级设置”->"环境变量"->"系统变量”一样。
  
2.2 ~/.bashrc
  
 
用户自己的家目录中的.bashrc
 登录时会自动调用,打开任意终端时也会自动调用
 这个文件一般设置与个人用户有关的环境变量,如交叉编译器的路径等等
 用户手动调用:用户实现的脚本

 3.shell语法初识
 
3.1 定义以开头:#!/bin/bash
         3.2 单个“#”号代表注释当前行
         
 
               第一步:编写脚本
               第二步:加上可执行权限
               第三步:运行
                            ./xxx.sh  :先按文件中 #!指定的解析器解析
                            bash xxx.sh :指明先用 bash解析器解析
                            .xxx.sh 直接使用默认解析器解析
 4.变量
 
4.1 只读变量
定义(num=10)+引用变量($num)+清除(unset)+键盘获取(read)(num=$num)
                
  
          4.2 环境变量: env
 
           导出环境变量 作用:(让其他shell脚本识别该变量,设为全局变量)
            env
            source FileName
           source .bash_rc 与 . .bash_rc 是等效的。
            注意:source命令与shell scripts的区别是,
            source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。
  
示例:把一个变量写入环境变量中。
#1.编辑一个shell脚本 06_sh.sh 文件内容如下。
#2.cmd:
   source 06_sh.sh
#3.查看是否添加完成 cmd:
   env
#4. 其他脚本读取
   #!/bin/bash
   echo "DATA=$DATA"
    06_sh.sh
#!/bin/bash
export DATA=100注意事项:
1、变量名只能包含英文字母下划线,不能以数字开头
      1_num=10 错误
      num_1=20 正确
 2、等号两边不能直接接空格符,若变量中本身就包含了空格,则整个字符串都要用双引号、或单       引号括起来
 3、双引号 单引号的区别
      双引号:可以解析变量的值
      单引号:不能解析变量的值
4.如果想在PATH变量中 追加一个路径写法如下:(重要!!!!)
export PATH=$PATH:/需要添加的路径
4.3 预设变量:

  

  
 
 脚本变量的特殊用法
4.4 变量扩展: 是否存在,字符串操作


 5.条件测试:
 
 
test命令有两种格式:
 test condition 或[ condition ]
 使用方括号时,要注意在条件两边加上空格。
          5.1 文件测试
 

          5.2 字符串测试

 
 2.测试:变量$yn中是否有空串。
  3. 输出:$? 命令返回状态:0表示没有
  
 5.输入:变量$yn
  6.测试:变量$yn是否有空串
  7.输出:$? 命令返回状态:1 表示有
  9.测试:变量$yn是否=“y”
 10.输出:$? 命令返回状态:0表示不等
  
          5.3 数值测试

  
 

5.测试:两个变量 $data1 $data2是否相等
 6. 输出:$? 命令返回状态:1 表示相等
          5.4 符合语句测试
 
 

 6.控制语句
 
         6.1 if语句
 
           2.请输入:变量$yn
            3.如果变量$yn=="y"
            7.fi 结尾
  
 2.请输入:文件夹的名字
  4.if 判断为1: [ -e ] (文件目录是否存在)  then(关键字)
        5. 打印:
        6. 进入文件夹
        7. 打印:
        8. 创建文件
  9.if 判断为0 :else
  16.结束
  
         6.2 case

 
 2.输入变量:$choice
  3.case $choice变量 是 yes 或者 y* 或者 Y*
  5.打印:
  6.;;条件1结束
  7.
  8.打印:
  9.;;条件2结束
 10.*)其它
         6.3 for
 
 


         6.4 while
  
 
 

         6.5 until
 
 

         6.6 break continue
 
 
 7.函数
 
 


 
3.关键字 function  函数名 my_max() 
 14.函数调用:
 15.打印:
  
24_sh.sh 中调用 fun.sh
  


 
 

























