shell环境和种类介绍及编程应用

一、shell介绍

  shell是c语言编写的程序,既是一种命令语言,又是一种程序设计语言。

  shell种类:.sh

  编译器:ash,bash,ksh,csh,zsh

  查看当前系统下的shell:cat /etc/shells

  查看默认的shell类型:echo $SHELL

二、shell脚本

  1.新建一个.sh格式的文件

  2.内容:(在这个文件里面输入我们要执行的命令)

    1)首行:#! /bin/bash ,#!是一个约定的标记,告诉系统这个脚本用什么样的编译器来执行  

    2)文本:

      echo 文本---向窗口输出文本 

    3)注释:

        单行注释 #

      多行注释 :<<!

           !   

  3.运行脚本

    sh xxx.sh

    bash xxx.sh

    source xxx.sh

    路径的方式来运行:绝对路径,相对路径 ./      在执行的时候有可能当前的文件没有执行权限:(1)chmod +x/r/w ./文件名---对编写的程序赋予可执行的权限,(2)chmod 777 文件名----对文件进行满权限操作,r-4,w-2,x-1

 

    总结:最好用sh xxx.sh方式来运行脚本

三、shell的变量

   1.本地变量,作用域只在当前环境有效

    普通变量:直接在终端进行定义,用echo输出即可,如下图

  

    1)变量名=变量值  等号前后不能有空格,且变量值中间不能有空格

    2)变量名=‘变量值’  值全部为字符串

    3)变量名="变量值"  值为字符串,如果值内有其他变量,则解析变量,并将变量值作为输出数据

    提示:

      变量值''和""区别:''不能解析其内变量,""可以解析其内变量

      变量值为数字,不加引号,其他推荐使用""

  2.全局变量,通过export把一个局部变量转换为全局变量

    env  查看系统中已存在的全局变量

    export 变量=值  定义全局变量,变量名建议为大写

  3.内置变量,内置变量只有$1-$9

    $0:获取当前执行的脚本的文件名

    $✳:代表获取的是所有参数

    $#:代表获取的是参数的个数

  

  4.取消变量

  对定义的变量,如果不使用时要及时进行取消,释放系统资源

  格式:

    unset 变量名  unset:内建shell命令,作用取消变量或函数,取消时变量名没有$

四、运算符

  算术运算符、比较运算符、逻辑运算符

五、函数:if,case,for,while

  1.定义函数:

1 function 函数名(){
2   语句  
3 }

  2.调用函数:

    函数名

  3.if:

1 if [条件]
2 then
3     语句块
4 elif [条件]
5 then
6     语句块
7 else
8     语句块
9 fi

  4.case

1 case 变量 in:
2     值1)
3         echo "语句块1";;
4     ✳)
5         echo "语句块2";;
6      esac

  星号(✳)相当于else

  5.for

1 for 值 in 列表
2 do
3     执行语句
4 done

  6.while

1 while [条件]
2 do
3     执行语句
4 done

六、扩展

  1.计算/etc目录下有多少个文件

1 #! /bin/bash
2 count='ls /etc | wc -l'
3 echo $count

  2.1)解释:   

1 #! /bin/bash
2 for tfile in kkk aaa bbb tst; do
3 echo $tfile
4 done

    输出的文本为:     

1 kkk
2 aaa
3 bbb
4 tst

   2)把一个目录下的文件查询出来赋值给一个变量

1 #! /bin/bash
2 for tfile in 'ls /usr/testhome/'; do
3 echo $tfile
4 done

 

posted @ 2019-05-23 11:42  mia0812  阅读(341)  评论(0编辑  收藏  举报