shell大法好,妹子跟着跑

    技术2025-05-29  22

    一·什么是shell脚本

           我们在学习一门新技术的时候,我们一定要知道它是什么,学了这门技术能做什么,做程序员,一定要精准定位问题,这样才会事半功倍!

           shell是一个程序,采用C语言编写,是用户和Linux内核沟通的桥梁,他就是一种命令语言,有时一种解释性的编程语言。

           shell英文单词译为"贝壳",”贝壳“是动物作为外在保护的一种工具,linux中的shell就是Linux内核的一个外层保护工具,并且负责完成用户与内核之间的交互

           linux系统中有内核,内核是用来管理硬件的,比如播放声音,打印文档,而这些系统反应是由用户下达命令才去执行操作的,但是内核听不懂人类语言,这时shell就派上用场了,shell相当于一个翻译官,将用户的指令翻译成二进制传给内核,内核就明白是什么意思并且去执行操作了

    二·shell脚本能做什么

           ​日常运维工作大部分是一些繁琐的工作,每天80%的工作量就是重复干做天的事情,而且工作量还比较大,那么摆在运维面前的选择就是:

    自己搞定一切

    机器搞定一切

           当然,谁不愿意喝着茶水,逗着前台妹子过完愉快的一天呢,如何让机器搞定一切,得以解放自己,有更多的时间逗妹子,这是就要祭出shell大法了

    shell大法好,妹子跟着跑

    三·shell功能

    命令解释功能启动程序输入输出重定向管道连接文件名置换变量维护环境控制shell编程

    四·第一个shell脚本:hello world

    1.虽然在linux系统中文件没有扩展名的概念,但建议shell 脚本的命名以.sh结束,见名知意,这样一看就知道是一个shell脚本 2.每个shell脚本都要定义脚本的执行环境,如何定义呢:在shell脚本的开头加上(#!/usr/bin/bash)这句话就可以了 3.脚本的组成:

    解释环境注释说明执行代码

    4:echo “hello word”

    5:执行脚本的两种方法:

    给予脚本执行权限 chomd xxx.sh 700 —> ./xxx.sh解释器直接运行,不用权限: sh xxx.sh

    五·shell中的特殊符号

    ~ 家目录 ! 执行历史命令 !! 执行上一条命令 $ 变量中去取内容符 & 后台执行 * 通配符,匹配所有 ? 匹配除回车以外的一个字符 ; shell中可以一行执行多个命令,用分号分隔 | 管道符上一个命令的输出作为下一个命令的输入 \ 转义字符 ‘’ 反尹浩,命令中先执行反引号的命令

    六·echo 命令介绍

    1.功能:将内容输出到默认显示设备,echo默认在输出后加个换行符 2.可添加参数

    -n 输出内容不自动换行-e 将一些特殊字符进行转意

    3转意字符;

    \a -------- 发出警告声 \b -------- 删除前一个字符 \c -------- 最后不加上换行符 \f --------- 换行但光标仍旧停留在当前位置 \n -------- 换行且光标移至行首 \r -------- 光标移至行首,但不换行 \t -------- 插入tab

    七·shell基本输入:read命令

    1.read命令默认接受键盘输入,回车符代表输入结束 2.read命令参数选项:

    -p ------ 打印信息 -t ------- 限定时间 -s ------- 不回显 -n ------- 输入字符个数

    八·shell常用指令

    1.获取字符串长度

    NAME='hello world' echo ${#NAME}

    2 转意字符-e

    echo -e

    3 重定向符号,将输出重定向记录到到a.txt中

    echo 'hello' > a.txt

    4 输出当前日期和时间

    echo `date` 输出:20200706日 星期一 16:30:55 CST

    5 运算符expr,运算符+左右都要空格,expr命令为linux中的命令,一般用于整数值计算,但也可以用于字符串操作

    echo `expr 2 + 2`

    6 乘法运算要家转移意符,*有特殊意义

    echo `expr 5 \* 6`

    7 shell中的if判断条件:a,b两边都要空格

    a=30 b=30 if [$a==$b] then echo "a=b" fi
    Processed: 0.013, SQL: 9