shell脚本的基础知识

1.什么是shell?shell script是什么?

shell是脚本中命令的解释器(文字接口的shell)
shell script(程序化脚本)是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,搭配正规表示法、管线命令与数据流重导向等功能,已达到我们所想要的处理目的

2.shell脚本的意义

  • 记录命令执行的过程和执行逻辑,以便以后重复执行
  • 脚本可以批量处理主机
  • 脚本可以定时处理主机

3.如何创建脚本

#!/bin/bash
幻数,声明这个脚本是用什么命令解释器运行的,比如是bash解释器,就在#!后写上bash文件在系统中的位置/bin/bash
vim自动添加脚本首部
调用方式有两种:
第一种是按某个快捷键去调用
第二种是自动调用

"map <F4> ms:call WESTOSTITLE()<cr>'s	## "表示此行被注释掉,映射F4快捷键去调用WESTOSTITLE()函数,<cr>'s表示结尾固定格式
autocmd BufNewFile *.sh,*.script call WESTOSTITLE()	##自动调用需满足两个条件:文件状态(新建)、以.sh或.script结尾的文件
func WESTOSTITLE()
 call append(0,"###############################################")	##call表调用,0代表的是第一行,后边所跟是第一行显示的内容
 call append(1,"# Author: lee")
 call append(2,"# Version: ")
 call append(3,"# Create_Time: ".strftime("%Y/%m/%d"))	##自动采集时间:strftime是vim内建的一个时间戳采集器
 									##"."表示前后两个字符串是独立的,用空格隔开
 call append(4,"# Mail: lee@westos.org")
 call append(5,"# Info: ")
 call append(6,"# ")
 call append(7,"################################################")
 call append(8,"")	## ""表示空行
 call append(9,"#!/bin/bash")
endfunc

在vim编辑器的配置文件中做此动作
在这里插入图片描述
在这里插入图片描述
测试
新建一个".sh "结尾的文件就会自动添加脚本首部信息
在这里插入图片描述
在这里插入图片描述

4.如何执行shell脚本

1)手动在环境中开启指定解释器
sh script.sh
指定sh shell去调用脚本,不用脚本中所写的幻数(即#!/bin/bash)
在当前的bash shell下开启了一个子shell sh,运行脚本中的所有命令
没有用解释器/bin/bash运行脚本,由外部的sh调用了脚本的所有命令
在这里插入图片描述
2)直接在当前环境中运行shell中的指令,不开启新的shell

source script.sh
. script.sh

在当前环境开启一个新的shell是为了去在纯净的环境中执行脚本当中的命令
在当前的shell里可能被设置过,环境纯净度不是特别高,可能会对实验效果有所影响
在这里插入图片描述
3)开启脚本中指定的shell并使用此shell环境运行脚本中的指令
chmod +x script.sh
/xxx/xxx/script.sh ##绝对路径下执行脚本
./script.sh ##相对路径下执行脚本
在这里插入图片描述

5.如何对脚本进行调试(脚本追踪)

sh -x newtest.sh
" + " ##运行指令
不带" + " ##命令运行的输出

举例:
在这里插入图片描述
在这里插入图片描述
在执行脚本中cat命令时,卡在那了,需要我们手动输入一个可cat文件,或者在脚本中直接添加一个可以cat的文件,脚本中的命令就可以依次执行到结束(这里我在脚本中添加一个可cat得/etc/shells文件供命令执行)
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值