shell基础知识(脚本运行的三种方式,自动写入脚本说明)

本文介绍了Shell的基础知识,包括其作为操作系统接口的角色和bash作为标准shell的作用。文章详细讲解了脚本运行的三种方式:通过sh命令、source命令以及设置执行权限后直接运行,并讨论了它们的区别。此外,还分享了如何在 Vim 中自动为新创建的Shell脚本写入说明的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.shell 简介

  • shell是操作系统中的一个软件,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口,系统中的命令用shell去解释,shell接受系统回应的输出并显示其到屏幕中(bash = GUN Bourne-Again Shell)。
  • shell处于kernel的外层,用来负责接收使用者输入的命令,然后将命令解释成kernel能了解的方式,然后由kernel去执行,再将结果传回默认的输出周边。shell是一种命令解释器,同时也是一个程序语言。shell有很多种,在众多的Linux发行版中,标准的shell是bash,也是我们学习的主要对象。

注:
1.脚本:可以自己运行的文本,文本中的字符可以自己运行
2.不同系统使用的shell不一样
3.c语言是一种面性对象的描述型语言
4.shell也是一个解释型语言,将要做的所有事情都解释出来
5.解释型:需要解释器翻译发出的指令

2.脚本运行的三种方式

注:
1.vim自动识别文件的后缀来改变文件的颜色
2.#!/bin/bash 脚本运行的环境,脚本运行的解释器 写什么调用什么
3.幻数:解释器的官方名称,解释器是什么运行的环境就是什么

准备工作:

[root@shenzhen ~]# cd /mnt
[root@shenzhen mnt]# ls
[root@shenzhen mnt]# vim test.sh
[root@shenzhen mnt]# ll test.sh 
-rw-r--r--. 1 root root 28 Mar 26 17:32 test.sh

脚本中写入

#!/bin/bash
watch -n 1 date

在这里插入图片描述
文件没有执行权限
(1) sh file.sh sh命令调用脚本
在这里插入图片描述
在这里插入图片描述
fg可以调回打入后台的任务,结束任务
(2) source file.sh source命令调用脚本
在这里插入图片描述
加执行权限,file.sh 文件的绝对路径直接调用

(3) chmod +x file.sh

[root@shenzhen mnt]# chmod +x test.sh 
[root@shenzhen mnt]# ll test.sh 
-rwxr-xr-x. 1 root root 28 Mar 26 17:32 test.sh

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结:
1.sh执行方式会略过在文件里写入的执行环境,有执行权限的文件可以直接执行,直接调用文件中的执行环境
2.source不会开启一个新的shell,直接使用当前的shell做运行环境

3.自动给脚本中写入说明

(1)打开一个文件按下快捷键自动写入

[root@shell_example mnt]# vim /etc/vimrc
map <F5> ms:call WESTOS()<cr>'s 
/* <cr>‘s表示结束 使用f5的时候调用westos函数*/
/* map <F5> 表示影射F5*/
function WESTOS()
        call append(0,"#########################################")
        call append(1,"# Author:yjy                            #")
        call append(2,"# Create_Date:".strftime("%Y-%M-%D %H:%M:%S")." #")
        /*后边执行的是vim内置的函数,需要以.开头*/
        call append(3,"# Version:1.2                            #")
        call append(4,"# Mail:yjy@qq.com                       #")
        call append(5,"# Description:WESTOS                    #")
        call append(6,"#########################################")
endfunction

在这里插入图片描述
新建一个文件

[root@shell_example mnt]# vim /etc/vimrc
[root@shell_example mnt]# vim file.sh

在这里插入图片描述
在这里插入图片描述
(2)打开一个文件是自动写入

[root@shell_example mnt]# vim /etc/vimrc

 autocmd BufNewFile *.sh exec ":call WESTOS()"

在这里插入图片描述
新建一个文件,自动出现

[root@shell_example mnt]# vim /etc/vimrc
[root@shell_example mnt]# ls
file.sh  test.sh
[root@shell_example mnt]# vim file1.sh

在这里插入图片描述
在这里插入图片描述
注:
(1)map ms;call WESTOS()‘s ‘s表示结束 使用f5的时候调用westos函数 map 表示影射F5
(2)给语句块一个名字WESTOS()
(3)call append(0,“###############”)调用的内容,第一行写入
(4)一个tab表示八个字符
(5)endfunction表示语句块结束
(6)autocmd BufNewFile .sh,.scripts exec “:call WESTOS()”
编辑一个后缀是什么的文件时可以自动执行语句块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值