Shell:基础知识及脚本的调用

一.Shell基础知识

1.什么是shell

  • shell是linux的外壳,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口
  • 当用户下达指令给操作系统的时候,实际上是把指令告诉shell,经过shell解释处理后让内核作出相应的动作
  • 系统的回应和输出信息也由shell处理,然后显示在用户的屏幕上

2.shell脚本

  • 当命令或程序不再命令执行时,而是通过一个程序文件来执行,这个程序文件就叫脚本
  • 在shell脚本里内置了多条命令,语句,循环控制,然后将这些命令一次性执行完毕,这种通过文件执行命令的方式成为非交互式

3.shell脚本的使用

  • 适合处理操作系统底层,含有众多的命令(如文本处理三兄弟:grep,sed,awk)
  • 适合处理纯文本文件,linux中许多服务配置文件
  • linux系统用脚本开发简单

3.shell脚本的作用

  • 用shell脚本保存执行动作
  • 用脚本判定命令的执行条件
  • 用脚本来实现动作的批量执行

二.shell脚本的使用

1.查看系统默认的shell

#!/bin/bash解释器:幻数(解释器,显示当前的运行环境)

cat /etc/passwd | head -1

在这里插入图片描述

[root@zll ~]# grep root /etc/passwd

在这里插入图片描述

[root@zll ~]# echo $SHELL

在这里插入图片描述
2.脚本的执行方法

(1)加权限用脚本的名称去调用,用在文件中指定的解释器

[root@shell mnt]# vim test.sh
chmod   +x  /mnt/test.sh

在这里插入图片描述
在这里插入图片描述
注:可以看到用到的文件是脚本中指定的解释器

(2).sh调用:指定的sh解释器工作
在这里插入图片描述
(3)source:当前的shell,不弹出新窗口
在这里插入图片描述
练习:
(1)把当前的/etc/.conf备份到/mnt/backup并且重命名为/mnt/backup/xxxx.conf.02-26

  • 法一:
[root@shell mnt]# vim etc.sh 

文件编辑内容为:
在这里插入图片描述
验证如下:
在这里插入图片描述

  • 法二:
find  /etc -name *.conf  -exec cp -pr {}  /mnt  \;
find  /mnt -name "*.conf"  -exec mv {} {}.`date +%m-%d` \;

在这里插入图片描述
3.脚本规范(添加脚本信息)

一个完整的脚本需要由以下几个部分组成

  • 脚本名

  • 第一行:#!/bin/bash
    指定解释器,且解释器必须写在第一行,否则会被当作注释

  • 用户判断

  • 流程控制,否则只把简单的命令进行顺序操作,没有成与否的判断

  • 注释

(1)以快捷键的方式,自动写入基本信息

[root@shell ~]# vim /etc/vimrc  ##编辑vim的配置文件
编辑内容为:
65 map <F5>  ms:call WESTOS()<cr>'s   ##按f5快捷键生效
66 function  WESTOS()    ##功能块的命名
67    call append(0,"###################################")   ##功能块添加的具体信息的内容
68    call append(1,"# Autho:                          #")
69    call append(2,"# Create_Date:    ".strftime("%Y-%m-%d")."      #")
70    call append(3,"#version:                      #")
71 endfunction

在这里插入图片描述
测试如下:

[root@shell ~]# vim test1.sh   ##
编辑脚本文件,按f5快捷键自动生成信息

在这里插入图片描述
(2)不使用快捷键自动添加脚本信息

[root@shell ~]# vim /etc/vimrc  
文件编辑内容为:
65 "map <F5>  ms:call WESTOS()<cr>'s    ##注释掉该行
66 autocmd BufNewFile  *.sh,*.script exec ":call WESTOS()"  
当在建立以.sh和以.script结尾的文件时自动生成信息

在这里插入图片描述
测试如下:

[root@shell ~]# vim zll.sh

在这里插入图片描述

[root@shell ~]# vim zll.script  ##发现会自动生成vim的具体信息

在这里插入图片描述
4.脚本的调试

[root@shell mnt]# sh -x /mnt/test.sh 
适用于所有shell脚本

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44224288/article/details/88248378