关于shell脚本的一些简单知识
1.什么是shell
脚本中命令的解释器
2.shell脚本的意义
1.记录命令执行的过程和执行逻辑,以便以后重复执行
2.脚本可以批量处理主机
3.脚本可以定时处理主机
3.如何创建shell脚本
#!/bin/bash ##幻数
vim自动添加脚本首部
"map <F4> ms:call WESTOSTITLE()<cr>'s
autocmd BufNewFile *.sh,*.script call WESTOSTITLE()
func WESTOSTITLE()
call append(0,"###############################################")
call append(1,"# Author: lee")
call append(2,"# Version: ")
call append(3,"# Create_Time: ".strftime("%Y/%m/%d"))
call append(4,"# Mail: lee@westos.org")
call append(5,"# Info: ")
call append(6,"# ")
call append(7,"################################################")
call append(8,"")
call append(9,"#!/bin/bash")
endfunc
4.如何执行shell脚本
1).手动在环境中开启指定解释器
sh script.sh
2).直接在当前环境中运行shell中的指令不开启新的shell
source script.sh
. script.sh
3).开启脚本中指定的shell并使用此shell环境运行脚本中的指令
chmod +x script.sh
/xxx/xxx/script.sh
./script.sh
5.如何对脚本进行调试
sh -x /mnt/westos.sh
+ ##运行指令
不带+ ##命令运行的输出
shell脚本提取文件的文件名、扩展名,linux脚本获取文件名和文件后缀
链接: shell脚本提取文件的文件名、扩展名.
链接: linux脚本获取文件名和文件后缀.
脚本练习:
- ip_show.sh 网卡 显示当前的主机ip
[root@d mnt]# vim ipshow.sh
[root@d mnt]# sh ipshow.sh enp1s0
ip:172.25.254.211
- host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户
hostname: xxxxx
ipaddress: xxxx.xxxx.xxx.xxx
username: xxxx
[root@d mnt]# vim hostmessages.sh
[root@d mnt]# sh hostmessages.sh
hostname: d.westos.org
ipaddress: 172.25.254.211
username: root
- clear_log.sh 执行次脚本后可以清空日志
[root@d mnt]# vim clearlog.sh
[westos@d ~]$ sh /mnt/clearlog.sh
Error:plase run script with root!! ##输出的字体为红色
[root@d ~]# vim /mnt/clearlog.sh
[root@d ~]# sh /mnt/clearlog.sh
/var/log/messages is cleared!!
/var/log/secure is cleared!!
/var/log/maillog is cleared!!
/var/log/cron is cleared!!
/var/log/spooler is cleared!!
/var/log/boot.log is cleared!!