day61 shell的介绍
day61 shell的介绍
前言
我们从安装软件,修改配置文件,改参数,启动以及看日志的运维
到今天,角色转变了,开始写代码什么服务和软件也不用装了,就是拿一个编辑器开始写代码
刷刷的写代码。

学习shell编程的前言
基本的学习的路线
- 学习语法
- 看语法,看教程
- 做题,去思考,这个题目该怎么做,语法怎么去写,逻辑对不对
- 学习shell编程的阶段,是完全的逻辑写代码。这个方面就是完全看你写代码的能力。
- 最后加油。
新人学习编程
-
多看,多学,学习他人优秀的脚本,学习他人的思路,学习优质脚本的语法,用法。
-
动手练习,可以完全抄袭他人的思路,大量的抄袭,目的是先熟练记忆编程的语法的要求
-
在熟练记忆语法之后,逐渐转化为自己的思路,产生自己的见解,能主动的思考,把想法转变为代码。
总结想学习好编程,更多要动手去敲,比学来更加的重要。
shell的入门的基础

具体的区别,解释型,编译型语言
编译,解释语言的区别
编译型
编译型语言的代码的文件转变为二进制文件
二进制执行速度快
依赖平台的架构
能更好的保护源代码
底层工具的开发,操作的系统,超大型的应用,高并发的应用,都是编译型语言开发的。
解释型
首先要下载解释器
跨平台性能好
执行过程较为漫长(这是相对于计算机而言,其实人类感受不到)
源代码暴露在外,不安全
适合各种脚本的开发,完成自动化的工作
对速度要求不是很高的应用的开发,如网站的开发。
关于shell开发的规范详解
- shell的语法的理解,shell的作用
- shell和运维的关系

shell 脚本是把一堆的命令和数据的结合,放在一起去执行
shell 脚本可以包括N个变量,循环,条件判断,函数等.....
特定的格式,特定的语法 + 系统命令 + 文件数据 === 脚本
shell 可以解决什么问题
1. 系统化初始化脚本, 如ssh配置,yum源,防火墙,ntp,基础的软件的安装,这一系列的步骤,写成脚本。
2,定时备份的数据, shell脚本 + crontab 每天夜里12点备份数据库。
3,nginx日志切割脚本。
4,服务管理脚本,如nginx,mysql启停脚本
5,如代码上线,将开发写好的代码,发布交给nginx
6.如自己开发一个跳板机脚本等。
如何学习好shell编程
# 如何学习好shell脚本的编程
1.充分利用好上课的时间,一定要主动的思考,别等答案。
2.充分理解知识点的语法,和概念
3,模仿好的脚本开发,看懂语法
4,消化吸收脚本的思路后,自己去模仿,改造
5,有了思路后,按照自己的意愿,开发脚本
shell脚本编写的规范
规范几个准则
1.shell 脚本要见名知意,正式的脚本,别瞎写a.sh b.sh这个很笨的/
2.虽然脚本是文本的类型,但是建议结尾还是以.sh结尾。vim也能提供对应的颜色
3.给脚本增加注释(英文最好,中文写在你的笔记里),包括脚本的创建的时间,作者,作用等等信息。
4.创建好可以管理你脚本的目录
5.创建好统一管理脚本的目录,别乱放。不然找不到。
一个规范的脚本示例
learn_shell_first.sh
vim插件,自动生成这些内容。
#!/bin/bash #! 这个符号在计算机中读作shebang,表示指定用什么解释器运行脚本,只能在第一行,注释从第二行开始写
# Author: www.yuchaoit.cn 877348180@qq.com
# Create Time: 2022/05/25
# Script Description: this is my first shell script.
# ???????理解刷 111,尽量用英文。否则可能导致脚本显示乱码。
vim hello_word.sh
vim脚本开发插件
不同的脚本,vim自动会判断的
*.sh
*.php
*.py
分别提供该语言的语法高亮的支持的功能
粘贴复制即可
1.打开vim的配置的文件,插入自己插件的语法
[root@m-61 ~]#vim ~/.vimrc
2. 复制粘贴语法即可
syntax on
set nocompatible
"set number
"filetype on
"set history=1000
"set background=dark
""set autoindent
"set smartindent
"set tabstop=4
"set shiftwidth=4
"set showmatch
"set guioptions-=T
"set ruler
"set nohls
"set incsearch
""set fileencodings=utf-8
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif
function AddFileInformation_php()
let infor = "<?php\n"
\." ***************************************************************************\n"
\." * \n"
\." * Copyright (c) 2014 \n"
\." * \n"
\." **************************************************************************/ \n"
\." \n"
\." \n"
\." \n"
\."/** \n"
\." * @file:".expand("%")." \n"
\." * @author your name(www.yzk.xyz) \n"
\." * @date ".strftime("%Y-%m-%d %H:%M")." \n"
\." * @version 1.0 \n"
\." **/ \n"
\." \n"
\." \n"
\." \n"
\." \n"
\." \n"
\." \n"
\."?>"
silent put! =infor
endfunction
autocmd BufNewFile *.php call AddFileInformation_php()
function AddFileInformation_sh()
let infor = "#!/bin/bash\n"
\."\n"
\."# ***************************************************************************\n"
\."# * \n"
\."# * @file:".expand("%")." \n"
\."# * @author:www.yuchaoit.cn \n"
\."# * @date:".strftime("%Y-%m-%d %H:%M")." \n"
\."# * @version 1.0 \n"
\."# * @description: Shell script \n"
\."# * @Copyright (c) all right reserved \n"
\."#* \n"
\."#**************************************************************************/ \n"
\."\n"
\."\n"
\."\n"
\."\n"
\."exit 0"
silent put! =infor
endfunction
autocmd BufNewFile *.sh call AddFileInformation_sh()
function AddFileInformation_py()
let infor = "#!/usr/bin/env python\n"
\."# -*- coding: utf-8 -*-\n"
\."# ************************************************************************ \n"
\."# * \n"
\."# * @file:".expand("%")." \n"
\."# * @author:www.yuchaoit.cn \n"
\."# * @date:".strftime("%Y-%m-%d %H:%M")." \n"
\."# * @version 1.0 \n"
\."# * @description: Python Script \n"
\."# * @Copyright (c) all right reserved \n"
\."# * \n"
\."#************************************************************************* \n"
\."\n"
\."import os,sys"
\."\n"
\."print u'''中文'''\n"
\."\n"
\."exit()"
silent put! =infor
endfunction
autocmd BufNewFile *.py call AddFileInformation_py()
看看vim插件的用法
[root@m-61 ~]#cat hello_shell.sh
#!/bin/bash
# ***************************************************************************
# *
# * @file:hello_shell.sh
# * @author:www.yuchaoit.cn
# * @date:2022-06-21 12:50
# * @version 1.0
# * @description: Shell script
# * @Copyright (c) all right reserved
#*
#**************************************************************************/
echo "加油,永远yzk,各位未来运维大佬。yyds"
exit 0
[root@m-61 ~]#
[root@m-61 ~]#
[root@m-61 ~]#
[root@m-61 ~]#bash hello_shell.sh
加油,永远的yzk,各位未来运维大佬。yyds
[root@m-61 ~]#
[root@m-61 ~]#
执行shell的方式
1. 解释器强制运行
2. 代码的首行,声明具体的解释器
浙公网安备 33010602011771号