shell脚本的基础知识

一、什么是 shell

  • 1、 脚本中命令的解释器
    电脑语言分为描述性语言和解释性语言
    2、shell 脚本的意义
    记录命令执行的过程和执行逻辑,以便以后重复执行
    脚本可以批量处理主机
    脚本可以定时处理主机
    3、创建 shell 脚本
    #!/bin/bash 叫做幻数(指定解释器),在脚本运行的时候会优先执行;此处并不是注释,是vim子配置文件中所写的程序运行的环境。

二、创建 shell 脚本

  • 对于脚本的编写,除了需要调用的内容之外,还应当对于脚本信息有一个简单的说明;
    可以在写脚本时自动加上对脚本的说明;
    编辑子配置文件 ~./vimrc,
    call:调用 ,append:添加, 0:第一行 1:第二行, endfunc :结束;
    编辑test.sh文件,进入后按F4就会调用WESTOS函数,即可自动添加所设置的脚本信息;
    在这里插入图片描述
    “将该语句注释;
    设定当新建立的文件,只要以.sh 或 .script结尾,都去调用WESTOS函数
    在这里插入图片描述
    对编写脚本时的缩进格式进行设定:
    ts=2: 一个tab表示两个空格,ai: 自动缩进,et: 把tab 转换为空格,sw =2:缩进长度为2个空格;
    此时当编辑新文件lee时,可以看到脚本设定的效果
    在这里插入图片描述
    继续编辑配置文件 ~/.vimrc,再增加几条对脚本的说明
    在这里插入图片描述
    设定成功,编辑westos.sh 文件可以看到效果
    在这里插入图片描述

三、执行shell脚本

  • 当脚本没有执行权限时;
    (1)手动在环境中开启指定解释器:sh westos.sh
    在这里插入图片描述
    (2)直接在当前环境中运行shell中的指令不开启新的shell
    source script.sh
    . script.sh
    在这里插入图片描述
  • 当脚本有执行权限时;
    可以使用绝对路径的方式运行脚本。(开启脚本中指定的shell并使用此shell环境运行脚本中的指令)
    . 表示当前目录
    在这里插入图片描述
  • 三种运行脚本方式的区别;
    编辑linux.sh文件,写入一个指令cat
    在这里插入图片描述
    ps f :显示进程信息,可以看到sh运行脚本的方式,会在当前shell中重新开启一个子shell
    在这里插入图片描述
    fg:将进程调入前台并结束进程后,用 . 的方式运行脚本,不会在当前shell中重新开启一个子shell
    在这里插入图片描述
    用 source 的方式运行脚本,不会在当前shell中重新开启一个子shell
    在这里插入图片描述
    用 绝对路径 的方式运行脚本,也会在当前shell中重新开启一个子shell ,综上,sh 和绝对路径的方式,都会开启子shell
    在这里插入图片描述

四、脚本的调试

  • 编辑脚本内容,将cal 改为cat ,此时由于没有指定输出,故运行时会卡住
    在这里插入图片描述
    sh -x /mnt/westos.sh
    加号 :运行指令
    不带+ :命令运行的输出,可以看到cat指令没有输出
    在这里插入图片描述
  • 脚本练习
    1、
    host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户
    hostname: xxxxx
    ipaddress: xxxx.xxxx.xxx.xxx
    username: root
  • 使用以下命令可以查看相关信息
    在这里插入图片描述
    在这里插入图片描述
    env查看内建变量
    在这里插入图片描述
    脚本内容以及运行结果如图
    在这里插入图片描述
    也可以使用一条命令编写脚本
    在这里插入图片描述
    2、clear_log.sh 执行次脚本后可以清空日志
  • 脚本内容及运行结果如图:
    注意:只有root用户才能清空日志,$0表示脚本本身
    在这里插入图片描述
    此时脚本内容已被清空
    在这里插入图片描述
    测试切换到we用户
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值