设置根据后缀补充title
新建.vimrc文件,存放到家目录中
vim .vimrc
#做一些对vim的自定义设置
set cursorline
set autoindent
#当新建的文件以sh结尾的,调用SetTitel()函数
autocmd BufNewFile *.sh exec ":call SetTitle()"
#当新建的文件以hxg结尾的,调用HxgTitel()函数
autocmd BufNewFile *.hxg exec ":call HxgTitle()"
#定义SetTitle函数
func SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#")
call setline(4,"#Author: XXX")
call setline(5,"#QQ: 123456")
call setline(6,"#Date: ".strftime("%Y-%m-%d"))
call setline(7,"#FileName: ".expand("%") )
call setline(8,"#URL: http://xxxxxxxxxxxxxxxxx")
call setline(9,"#")
call setline(10,"#")
call setline(11," ")
endif
#函数结束
endfunc
#定函数HxgTitle函数
func HxgTitle()
if expand("%:e") == 'hxg'
call setline(1,"#!/bin/hxg")
call setline(2,"#")
call setline(3,"#")
call setline(4,"#Author: XXX")
call setline(5,"#QQ: 123456")
call setline(6,"#Date: ".strftime("%Y-%m-%d"))
call setline(7,"#FileName: ".expand("%") )
call setline(8,"#URL: http://xxxxxxxxxxxxxxxxx")
call setline(9,"#")
call setline(10,"#")
call setline(11," ")
endif
#函数结束的标志
endfunc
#结束后将光标放在结尾
autocmd BufNewFile * normal G
简单的代码
vim /data/hello.sh
#!/bin/bash
echo 'hello word!!'
运行代码
-
#bash hello.sh hello word!!
-
#先加执行权限 chmod +x /data/hello.sh #然后直接运行 hello.sh hello word!!
新建用户脚本
vim useradd.sh
#!/bin/bash
useradd $1
echo $2 | passwd --stdin $1 &>/dev/null
echo -e '新用户'$1'新建成功\n密码为'$2
运行代码
#文件加执行权限
chmod +x useradd.sh
#运行代码
useradd.sh test admin
新用户test新建成功
密码为admin
显示出电脑的基本信息
vim echo '用户:'`uname -n`
#!/bin/bash
#定义变量,方便随时更改颜色
c='1;36'
echo -e "用户:\033[${c}m`uname -n`\033[0m"
echo -e "系统:\033[${c}m`cat /etc/centos-release|cut -d' ' -f1,4`版本\033[0m"
echo -e "内核:\033[${c}m`uname -r`版本\033[0m"
echo -e "CPU个数:\033[${c}m`lscpu | grep ^CPU\(s\)|tr -s ' ' ':'|cut -d: -f2`个\033[0m"
echo -e "CPU型号:\033[${c}m`lscpu | grep ^型号名称|tr -s ' ' @|cut -d@ -f4,6`\033[0m"
echo -e "系统内存:\033[${c}m`free -h|grep Mem|tr -s ' '|cut -d' ' -f2`\033[0m"
echo -e "硬盘:\033[${c}m`lsblk |grep sda|head -1|tr -s ' '|cut -d' ' -f4`\033[0m"
chmod +x lspc.sh
lspc.sh
用户:hexug
系统:CentOS 7.7.1908版本
内核:3.10.0-1062.el7.x86_64版本
CPU个数:1个
CPU型号:[email protected]
系统内存:1.9G
硬盘:100G
备份的简单脚本
vim /data/bakup.sh
#!/bin/bash
cp -a /etc/ /data/etc-bakup-`date +%F`
echo 'etc文件夹备份成功!'
chmod +x /data/bakup.sh
bakup.sh
etc文件夹备份成功!
改进版
可以通过外部赋值的方法,灵活备份文件
vim /data/bakup.sh
#!/bin/bash
cp -av $1$2 /data/$2-bakup-`date +%F` && echo $1$2'文件夹备份成功!'
chmod +x /data/bakup.sh
#将需要备份的文件或者文件夹进行分割,前半部分是作为第一个变量,目录名作为第二个变量
bakup.sh /etc/ profile.d
/etc/profile.d文件夹备份成功!
shell脚本基础
格式要求:首行shebang机制
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
脚本调试
检测脚本中的语法错误
bash -n /data/1.sh
调试执行
bash -x /data/1.sh