Linux系统下shell脚本中的基本知识

什么是shell

内核:程序调动器,因为linux系统是多任务,多用户的操作系统,而内核决定了操作系统在运行过程中所有程序的优先级。内核不具备和硬件直接交互的能力
shell:shell是包裹在内核外的一层壳,由于当系统中多个任务同时进行,如果外界直接与内核交互,很可能会篡改内核,导致优先级混乱。所以为了防止被篡改,不让外界直接和内核进行交互,使用shell对内核进行保护。

脚本:是可运行的文本,脚本记录用户操作的步骤,脚本的第一行不仅仅是注释,,它是最先开启的程序,#!/bin/bash #!/bin/cat ##使用哪种方式就会用哪种方式进行解释,能够用文件名称来运行文件内容的文件叫做脚本文件;用脚本判定命令的执行条件,用脚本来实现动作的批量执行

创建新shell脚本

vim  script.sh
#!/bin/bash    ##脚本使用的解释器,通常用幻数“#!”指定
#AUTHOR   ##脚本作者
#DATE  ##脚本创作时间
#MAIL    ##脚本作者联系方式
#VERSION  ##脚本的版本

快捷执行内容的设置

vim /etc/vimrc 

map <F9> ms:call WESTOS()<cr>'s    ' ##映射到F9这个快捷键上(当按F9的时候就执行WESTOS里面的内容)

function WESTOS()   ##WESTOS就是执行的任务的名称
      call append(0,"###########")  ##第1行显示###########
      call append(1,"Create_Date: ".strftime("%Y-%m-%d %H:%M")."   #") ##使用 ".(加入的命令).",第2行显示,以此类推
endfunction

在这里插入图片描述
测试

vim hello.westos

按F9,自动出现以上内容则成功
在这里插入图片描述

自动在新文件里面执行内容

vim /etc/vimrc
在文件中添加
autocmd BufNewFile *.sh exec ":call WESTOS()"   ##当该文件为新的文件并且以.sh结尾时自动执行WESTOS里面的内容
function WESTOS()
(##所要自动显示内容)
endfunction

在这里插入图片描述

测试
(1)直接打开vim file.sh ##新的文件并且以.sh结尾,会自动执行WESTOS里面的内容
(2)如果touch file1.sh,vim file1.sh #不执行,因为文件已经通过touch已经存在了
(3)直接打开vim file2 ##新的文件,但不是以.sh结尾的文件
在这里插入图片描述

shell脚本的执行

sh scripts.sh ##开启一个子shell运行

在这里插入图片描述

source sripts.sh  (在umask时也有使用到)##在当前的shell中运行

在这里插入图片描述

. scripts.sh   #在当前shell中进行

在这里插入图片描述
前面三种都不需要添加执行权限

./script.sh   ##在当前的shell中运行 
chmod +x scripts.sh    ##添加执行权限-》
可以使用ps f 进行查看

没有加执行权限之前
在这里插入图片描述

脚本的调试

sh -x test.sh  ##可以清晰地看到脚本中的哪一行出现问题

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

脚本示例

(1)执行ip_show.sh (显示当前主机的IP)
在这里插入图片描述
执行结果
在这里插入图片描述
(2)执行user_show.sh (显示当前主机中能登录系统的用户)
在这里插入图片描述

执行结果
在这里插入图片描述
查看/etc/passwd中的内容,与检索出来的结果一致
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)执行host_messages.sh (显示当前主机的名称,ip,以及能够登录系统的用户)
在这里插入图片描述
执行结果
在这里插入图片描述
(4)执行clear_log.sh ##执行命令后可以清空日志
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值