Shell脚本编写

发布于 2020-09-20  991 次阅读


Shell(壳),shell是用户和系统沟通的桥梁

用户命令 -> shell解析-> Linux内核执行 -> 控制系统硬件 ->输出结果

注:shell是一个语法解析器,不同的shell命令语法也不同

shell的分类:

1,/bin/bash:现在Linux发行版本都在用的一个shell类型,包涵的功能涵盖了shell的所有功能(重点

2,/bin/sh:/bin/bash的快捷方式,内部有一个软连接

3,/bin/dash:小巧高效但功能相对较少

4,/bin/csh:类c语言风格的shell,具有许多特性,但功能相对较少

5,/bin/tcsh:是csh的增强版,完全兼容csh

6,/bin/nologin:非交互式的,不能登录操作系统

bash的特性:每一种shell都有自己独特的语法和命令,这就是特性

bash是弱类型的编程语言,不严格区分数据类型,意味把所有数据统统当作字符串处理;

1,定义别名:alias 变量=‘命令或者其他’   (全局配置文件/etc/bashrc)

2,历史命令查看:shell进程会保存其会话中用户曾经执行过的命令;命令通过其“历史文件”来持久保存此前执行过的命令;每个用户都有其自己专用的历史文件

HISTSIZE:shell进程的缓冲区保留的历史命令的条数(默认1000)

HISTFILESIZE:命令历史文件可保存的历史命令的条数(默认1000)

3,命令补全功能:TAB键

4,通配符:?,*

一,shell编程的小工具

编程小工具的积累,可以在写shell脚本时获得极大的好处

     一,grep    

        grep是一个文本查询工具,把输入流一行一行的处理,对文本进行匹配和分析,当不能对文本进行编辑
         格式:grep 选项 “匹配模式” 路径(文本文件或者文件夹)
        grep两个通配符:
                    ^字符串:以什么开头
                      字符串$:以什么结尾
-i:忽略大小写
-n:显示匹配内容的行号
-v:取反,输出不匹配的所有行