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 <f4> ms:call westos()<cr>'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 <f4> ms:call westos()<cr>'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’执行填充
实验二:执行新建以.sh结尾的vim文件时,自动填充
注意:旧文件不自动填充
方法一:
[root@desktop5 mnt]# vim /etc/vimrc autocmd bufnewfile *.sh exec ":call westos()" ##新文件,以.sh结尾,执行,调用文件"map <f4> ms:call westos()<cr>'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 <f4> ms:call westos()<cr>'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脚本语言的详细内容。
