Linux入门 28_Linux中shell脚本基础知识详解

1、什么是shell

shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的shell命令就包括ls、cd、pwd等等。总结来说,shell是一个命令解释器,它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。

2、shell脚本的意义

shell脚本与Windows/Dos下的批处理相似,也就是将各类命令预先放入到一个文件中方便一次性执行,这个程序文件就叫做shell脚本。shell脚本可以记录命令执行的过程和执行逻辑,以便以后重复执行,还可以批量、定时处理主机,方便管理员进行设置或者管理。它比Windows下的批处理更强大,比用其他编程语言编写程序的效率更高。

3、如何创建shell脚本

创建shell脚本时,通常会新建以.sh或.script结尾的文件,但shell脚本不一定要以.sh结尾,以.sh结尾只是为了拿到该文件的人能够快速识别该文件为脚本,即命名规范。创建脚本后在进一步写入命令前,我们需要写入幻数 #!/bin/bash,#!/bin/bash可以理解为脚本文件中所有命令运行的环境。

练习:

1、vim 自动添加行号

vim /etc/vimrc		#此文件为全局变量文件对所以用户生效

在这里插入图片描述
2、编写脚本自动生成脚本中通常要有的基本信息

在空目录/mnt下,新建以.sh结尾的脚本文件,通常我们需要在进一步写入命令前写入#!/bin/bash和脚本首部信息,为了避免每次手动输入,可以编写vim的子配置文件~/.vimrc(只针对脚本编写者自己生效)设置自动添加脚本首部信息的函数:func为函数类型标志;endfunc为函数结束标志;call表示调用;append表示添加语句。在append添加语句中,0表示在第一行添加,所要添加的内容需要用 “ ” 引起来;当需要添加多个内容时,可以用 . 隔开,strftime表示自动识别捕捉时间并以年/月/日格式输出显示。自动添加脚本首部信息的函数编写完成后,我们在编写脚本时可以通过以下方式调用该函数:

调用方法: autocmd设定当新建以.sh或.script结尾的文件时自动调用函数
在这里插入图片描述

在这里插入图片描述

4、如何执行shell脚本

1、创建并编写脚本westos.sh,写入命令(cal命令表示显示当前月的日历)

在这里插入图片描述
脚本有无权限时运行方式的区别:新建脚本文件linux.sh输入cat命令(执行脚本时会一直处于运行状态)
2、当脚本文件无可执行权限时,可以使用以下三种方式运行脚本:

方法一: sh westos.sh—手动在环境中开启指定解释器
方法二: . westos.sh—直接在当前环境中运行shell中的指令不开启新的shell
方法三: source westos.sh—直接在当前环境中运行shell中的指令不开启新的shell

5、如何对脚本进行调试

1、编写脚本westos.sh,写入命令
在这里插入图片描述
2、脚本中写入的cat命令格式错误,运行脚本时会一直处于运行状态
在这里插入图片描述
3、我们可以在运行脚本时使用-x 参数显示脚本运行过程,通过显示的信息来调试脚本,显示的信息中+表示运行的指令,不带+表示指令运行的结果,可以看到脚本在执行cat命令时出错

在这里插入图片描述

命令练习:

1、编写脚本ip_show.sh显示当前的ip

思路:使用ifconfig ens3查看网卡信息后,通过管道使用awk命令截取inet关键字后没有字符的行的第二列即可得到当前主机的ip
在这里插入图片描述
在这里插入图片描述

2、编写脚本host_messages.sh显示当前主机的名称、ip和登陆当前主机的用户

思路:使用hostname命令查看显示当前主机的名称;使用ifconfig ens3查看网卡信息后,通过管道使用awk命令截取inet关键字后没有字符的行的第二列即可得到当前主机的ip;使用$USER、whoami命令显示登陆当前主机的用户
\t表示一个tab键,\n表示换行
输出中有\t、\n时前面必须加-e参数执行动作
在这里插入图片描述在这里插入图片描述
3、编写脚本clear_log.sh 执行后可以清空日志
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿王不想秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值