0
点赞
收藏
分享

微信扫一扫

shell基础入门

栖桐 2022-07-18 阅读 57

为什么使用shell

1.安装操作系统(centos)自动化安装操作系统(kickstart cobbler)底层shell

2.初始化/优化操作系统

1)ntp时间同步

2)更改默认yum源

3)ssh优化

4)关闭Selinux

5)关闭/开启 防火墙 (C6:iptables C7:Ũrewalld)

6)安装基础服务(wget vim lrzsz net-tools unzip gzip...)

7)优化文件描述符

8)优化字符集

3.安装服务

1)Nginx

2)PHP

3)MySQL

4)Redis

5)MHA

6)Rsync

7)NFS

8)MongoDB

9)Zabbix ...

4.启动服务(系统默认的shell脚本)

5.脚本实现自动化代码上线

6.监控服务(使用shell)

7.结合定时任务使用shell

8.重复性工作写入脚本

1)日志切割

2)日志分析

3)数据统计

4)机器巡检

5)数据备份 ...

shell编程需要掌握的基础知识

1)熟练使用vim编辑器

2)熟悉ssh终端(Xshell、CRT)

3)熟练掌握linux常用命令

4)熟练掌握linux正则表达式 及三剑客命令

5)VScode

shell脚本规范

1.目录统一

2.shell脚本的结尾要以.sh结尾

3.脚本的开头需要有解释器

#!/bin/bash

4.作者信息

#!/bin/bash
#Author: _yjt_ (名字)
#Date: _1999-12-21_ (脚本创建日期)
#Name: _Print Message_ (脚本内容名字)

5.一定要有注释(可以中文)

6.shell中尽量使用英文

7.成对的符号和语句一次性写完

vim模板

# 1.首先先编辑一个模板文件,该模板文件可以叫任何名字
[root@web01 ~]# vim /usr/share/vim/vimfiles/template.yjt
#!/bin/bash

# File Name: __a.sh__ 脚本名字
# Version: __v1.1__ 版本号
# Author: __yjt__ 作者名字
# Mail: __1781811351@qq.com__ 邮箱

# 2.写完之后,我们需要修改一下vim的配置文件
[root@web01 ~]# vim /etc/vimrc
autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec
## 在第28行,autocmd自动保存模板文件,修改一下,因为我们是要写shell脚本的模板
## 所以我们要把*.spec 修改成*.sh
## 然后将后面的模板文件改成你定义的模板文件名
autocmd BufNewFile *.sh 0r /usr/share/vim/vimfiles/template.yjt

# 3.接下来,我们编辑所有只要以sh结尾的文件,都会带有作者信息
[root@web01 ~]# vim abc.sh

vim模板(高端版)

# 1.在用户家目录下创建一个隐藏文件  .vimrc
# 2.比如root用户
# 3.[root@web01 ~]# vim ~/.vimrc
# 5.写入以下内容

autocmd bufNewFile *.py,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1, "#!/bin/bash")
call setline(2, "")
call setline(3, "# File Name: __".expand("%") . "__")
call setline(4, "# Version: __v1.1__ ")
call setline(5, "# Author: __DriverZeng__ ")
call setline(6, "# Mail: __133411023@qq.com__ ")
call setline(7, "# Blog: __https://blog.driverzeng.com__ ")
call setline(8, "# DateTime: __".expand(strftime("%Y-%m-%d %H:%M")) . "__")
endif
endfunc

# 6.编辑一个脚本,vim a.sh
# 7. 效果如下
# File Name: __a.sh__ 脚本名字
# Version: __v1.1__ 版本号
# Author: __DriverZeng__ 作者名字
# Blog: __https://blog.driverzeng.com__ 自己网站域名
# Mail: __1781811351@qq.com__ 邮箱

## 以上变量内容都可以自己改

脚本执行方式

#!/bin/bash

# File Name: __a.sh__
# Version: __v1.1__
# Author: __yjt__
# Mail: __1781811351@qq.com__

echo 'Hello World'


# 执行脚本
[root@web01 ~]# sh a.sh
Hello World

[root@web01 ~]# bash a.sh
Hello World

[root@web01 ~]# . a.sh
Hello World

[root@web01 ~]# source a.sh
Hello World

[root@m01 ~]# . a.sh
Hello World

[root@m01 ~]# /root/a.sh (只有将路径写入PATH的时候才能直接执行)
Hello World
[root@web01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@web01 ~]# vim /etc/profile
在环境变量下写入:PATH="脚本存放路径:$PATH" 比如 PATH="/usr/local/src:$PATH"
[root@web01 ~]# source /etc/profile

. 和 source 都是在父shell下执行的 sh , bash , 相对路径 , 绝对路径都是在子shell下执行的

开发语言中程序代码分类

1.编译型

  • java

2.解释型

  • shell
  • python
举报

相关推荐

0 条评论