【Linux学习】shell脚本语言

shell 是操作系统中“提供使用者使用界面”的软件,它包在 linux 内核的外面,为用户和内核之间的交互提供了一个接口,系统中的命令用 shell 去解释,shell 接收系统回应的输出并显示其到屏幕中。

1.shell简介

解释性语言——shell脚本、python,运行效率低,基本只适用企业内部
shell——脚本,记录系统命令及命令执行的系统关系,充当解释器
gcc ——编译器
vim ——编辑器

#!/bin/bash          幻数,指定解释器#!/usr/bin/env bash  自动匹配解释器

描述性语言——c语言、java,执行效率高

1.脚本的调用
脚本(一般以.sh结尾):

[root@desktop5 mnt]# vim westos.sh#!/bin/bash echo hello westos

方法一:无执行权限,用sh调用

[root@desktop5 mnt]# sh westos.sh

方法二:有执行权限,用绝对路径调用

[root@desktop5 mnt]# chmod +x westos.sh [root@desktop5 mnt]# /mnt/westos.sh

2.脚本的检查

 + 表示:执行动作

无+表示:动作输出

方法一:

[root@desktop5 mnt]# sh -x /mnt/westos.sh

这里写图片描述
方法二:

[root@desktop5 mnt]# vim westos.sh#!/bin/bash -xecho hello westos

这里写图片描述

实验一:快捷键F4执行填充
方法一:

[root@desktop5 mnt]# vim /etc/vimrc map  ms:call WESTOS()'s       ##ms:执行命令时,不提示报错function WESTOS()         call append(0,"#################################")         call append(1,"# Author :       Hao            #")         call append(2,"# Mail :         Hao@westos.com #")         call append(3,"# Version :      1.0            #")         call append(4,"# Create_Time:   ".strftime("%Y-%m-%d")."     #")    ##时间更新call append(5,"# Description:                  #")         call append(6,"#################################")endfunction

方法二:利用.来承接后面的#

map  ms:call WESTOS()'sfunction WESTOS()         call append(0,"#################################")         call append(1,"# Author :       Hao".("            #"))         call append(2,"# Mail :         Hao@westos.com".(" #"))         call append(3,"# Version :      1.0           ".(" #"))         call append(4,"# Create_Time:   ".strftime("%Y-%m-%d").("     #"))         call append(5,"# Description:                 ".(" #"))         call append(6,"#################################")endfunction

测试:

[root@desktop5 mnt]# vim westos.sh        ##按‘F4’执行填充

这里写图片描述

韩顺平PHP入门到精通全套笔记 韩顺平PHP入门到精通全套笔记

韩顺平,毕业于清华大学,国内著名的软件培训高级讲师,先后在新浪、点击科技、用友就职。主持或参与《新浪邮件系统》、《橙红sns(社会化网络)网站》、《点击科技协同软件群组服务器端(Linux/solaris平台)》、《国家总参语音监控系统》、《英语学习机系统》、《用友erp(u8产品)系统》等项目。实战经验丰富,授课耐心细致,通俗易懂,勇于实践,勤于创新,授课风格贴近生活,授课语言生动风趣,多年

韩顺平PHP入门到精通全套笔记 632 查看详情 韩顺平PHP入门到精通全套笔记

实验二:执行新建以.sh结尾的vim文件时,自动填充
注意:旧文件不自动填充
方法一:

[root@desktop5 mnt]# vim /etc/vimrc autocmd BufNewFile *.sh exec ":call WESTOS()"    ##新文件,以.sh结尾,执行,调用文件"map  ms:call WESTOS()'s           ##此行注释,在此"表注释function WESTOS()         call append(0,"#################################")         call append(1,"# Author :       Hao            #")         call append(2,"# Mail :         Hao@westos.com #")         call append(3,"# Version :      1.0            #")         call append(4,"# Create_Time:   ".strftime("%Y-%m-%d")."     #")         call append(5,"# Description:                  #")         call append(6,"#################################")         call append(7,"")         call append(8,"#!/bin/bash")endfunction

方法二:

[root@desktop5 mnt]# vim /etc/vimrc autocmd BufNewFile *.sh exec ":call WESTOS()""map  ms:call WESTOS()'sfunction WESTOS()         call append(0,"#################################")         call append(1,"# Author :       Hao".("            #"))         call append(2,"# Mail :         Hao@westos.com".(" #"))         call append(3,"# Version :      1.0           ".(" #"))         call append(4,"# Create_Time:   ".strftime("%Y-%m-%d").("     #"))         call append(5,"# Description:                 ".(" #"))         call append(6,"#################################")         call append(7,"")         call append(8,"#!/bin/bash")endfunction

这里写图片描述
测试:

[root@desktop5 mnt]# vim file1.sh  ##新建以.sh结尾的文件,自动填充

2.shell脚本练习

练习一:显示当前主机ip地址

[root@desktop5 mnt]# vim ip_show.sh#!/bin/bashifconfig eth0 | awk -F " " '/inet /{print $2}'  ##inet所在行,以空格间隔,第二个字符

这里写图片描述
测试:

[root@desktop5 mnt]# sh ip_show.sh

这里写图片描述
练习二:显示当前主机中能登陆系统的用户

[root@desktop5 mnt]# vim user_show.sh#!/bin/bashawk -F : '/bash$/{print $1}' /etc/passwd      ##以bash结尾,打印出第一个字符

这里写图片描述
测试:
这里写图片描述
练习三:执行命令后可清空日至
方法一:

[root@desktop5 mnt]# vim clear_log.sh#!/bin/bash> /var/log/messages

方法二:

[root@desktop5 mnt]# vim clear_log.sh#!/bin/bashecho "" > /var/log/messages

测试:

[root@desktop5 mnt]# chmod +x clear_log.sh [root@desktop5 mnt]# /mnt/clear_log.sh

这里写图片描述

【推荐课程:linux视频教程】

以上就是【Linux学习】shell脚本语言的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/752703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月25日 21:03:51
下一篇 2025年11月25日 21:16:04

相关推荐

发表回复

登录后才能评论
关注微信