有时候编写脚本,我们希望它能自动的加载一些信息,如当前的日期、邮箱、作者、当前编写脚本的文件名等信息。实现这种效果的方法有很多,下面我介绍两种方法。先来看看实现后的效果:
编辑/etc/vimrc文件,在该文件后追加以下信息:
map ms:call XYY()'s
autocmd BufNewFile *.sh,*.script exec ":call XYY()"
function XYY()
call append(0,"##############################")
call append(1,"#Author:杨源 ")
call append(2,"#Create_Time:".strftime("%Y-%m-%d")."")
call append(3,"#Versios:1.0")
call append(4,"#Mail:[email protected]")
call append(5,"#Description:时光里的那缕风")
call append(6,"##############################")
call append(7,"#!/bin/bash")
endfunction
当您每次用vim编写一个以.sh或者.script结尾的文件的时候,他就会自动加载上注释信息了。对该文件的语法我懂的也不是很多,只能告诉您需要修改的地方。append函数的作用是,用“里面的信息”覆盖第几行(行号是从0开始,0代表第一行)。拿第二条来举例eg:call append(1,"#Author:杨源 ")。该语法的解释是,调用系统函数append,用“#Author:杨源 ”的信息覆盖第二行。因为是注释信息,所以每一行的开头都是#号 。
您可以试一试效果了。
用shell脚本来编写。对于经常用的脚本的路径我习惯性的保存在/etc/profile.d目录下。以下是我编写的脚本内容:
[root@mini1 app]# cat /etc/profile.d/shell.sh
echo "#-----------------------------------------------------------------------" >> $1
echo " # 内核版本:`uname -r`" >> $1
echo " # 作 者:杨源" >> $1
echo " # 时 间:`date "+%F %T"`" >> $1
echo " # 文件名称:$1" >> $1
echo " # 版 本:1.1" >> $1
echo "#-----------------------------------------------------------------------" >> $1
echo >> $1
vim $1 +$
然后又设置了一个别名shell
[root@mini1 app]# alias shell
alias shell='. /etc/profile.d/shell.sh '
这样,我们就可以用别名shell创建脚本了,我们来创建一个i.sh脚本
[root@mini1 app]# shell i.sh
[root@mini1 app]# cat i.sh
#-----------------------------------------------------------------------
# 内核版本:3.10.0-1062.1.1.el7.x86_64
# 作 者:杨源
# 时 间:2019-09-30 03:26:36
# 文件名称:i.sh
# 版 本:1.1
#-----------------------------------------------------------------------
稍作解释:我们的这种方法相当于通过执行脚本的方法创建脚本。. /etc/profile.d/shell.sh i.sh:执行脚本shell.sh,i.sh作为第一个参数,我们将文件的头信息追加到 i.sh 文件。echo >> $1,添加一个空行。vim $1 +$,表示打开i.sh($1)文件时光标自动跳转到最后一行。