当前位置: 首页 > news >正文

广州做贸易网站网站的营销策略

广州做贸易网站,网站的营销策略,特产网站怎么做,忻州市住房城乡建设局网站1 为什么要学习Shell编程 对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shel脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本. 对于大数据程序员来说,需要编写Shell程序来管理集群 2 Shell是什么 Shell是一个命令行解释器&#xff…

1 为什么要学习Shell编程

对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shel脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本.

对于大数据程序员来说,需要编写Shell程序来管理集群

2 Shell是什么

Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便裕兴程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

3 Shell脚本的执行方式

1)sh脚本文件格式要求:

a.在内容的最前面以#!/bin/bash 开头

#!/bin/bash

b.脚本需要有可执行权限

如:创建一个hello.sh脚本

2)脚本的常用执行方式

a.方式1:

  • 首先要赋予xx.sh脚本的+x权限:chmod 744 myShell.sh
chmod u+x hello.sh
  • 执行脚本:./myShell.sh
./hello.sh

b.方式2:(sh+脚本)

  • 说明:不用赋予+x权限,直接执行即可
sh hello.sh

4 shell的变量

1)shell变量的介绍:

Linux Shell的变量分为,系统变量和用户自定义变量

  • 系统变量:$HOME、$PWD、$SHELL、$USER等等
  • 显示当前shell中所有变量:set指令
set

2)shell变量的自定义

基本语法:

  • 定义变量:
//等号=两边不能有空格
变量=值
  • 撤销变量:
unset 变量
  • 声明静态变量:
//注意:静态变量不能撤销set
readonly 变量

如:

3)定义变量的规则

  • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头
  • 等号两侧不能有空格
  • 变量名称一般习惯为大写

4)将命令的返回值赋给变量

``:反引号,表示执行里面的指令,并将结果赋值给定义的变量

//表示执行data指令,并将data指令执行的结果,赋值给变量A
A=`date`

$():等价于``

A=`date`
等价于
A=$(date)

如:

5)设置环境变量

基本语法:

  • 将shell变量输出为环境变量(全局变量)
export 变量名=变量值

修改全局/环境变量后,需要刷新配置文件,才可以生效

  • 让修改后的配置文件信息立即生效
source 配置文件
  • 查询环境变量的值
echo $变量名

如:

6)多行注释

:<<!需要注释的内容
!

7)位置参数变量

当我们执行一个shell脚本时,如果希望获取到命令行的参数信息就可以使用到位置参数变量。比如: ./myshell.sh 100 200,这个就是一个执行shell的命令行,可以在myshell脚本中传参100,200。

基本语法:

//n为数字,`$0`代表命令本身,`$1-$9`代表第一到第九个参数,10以上的参数需要用大括号包含,如`${10}`
$n//这个变量代表命令行中所有的参数,`$*`把所有的参数看成一个整体
$*//这个变量也代表命令行中所有的参数,不过`$@`把每个参数区分对待
$@//这个变量代表命令行中所有参数的个数
$#

如:

8)预定义变量

shell设计者事先已经定义好的变量,可以直接在shell脚本中使用

基本语法:

//当前进程的进程号(PID)
$$//后台运行的最后一个进程的进程号(PID)
$!//最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确。
$?//后台运行,在脚本文件后面加上 & 即是进行后台运行
脚本文件.sh &

5 运算符

1)算术运算符

在Shell中进行各种运算操作

语法:

$[运算式]
或
$((运算式))
或
expr m + n

注意:

  • expr m + n,注意expr运算符间要有空格
  • expr m - n
  • expr \* / %,乘,除,取余

如:

2)比较运算符

字符串类型比较:

  • =:字符串比较

整数类型比较:

  • -lt:小于
  • -le:小于等于
  • -eq:等于
  • -gt:大于
  • -ge:大于等于
  • -ne:不等于

6 条件判断

1)基本语法:

[ condition ]
  • [ condition ],注意condition前后有空格!
  • 非空返回true,可使用$?验证(0为true,>1为false)

2)字符串比较判断

如:判断ok是否等于ok,等于输出相等

if [ "ok" = "ok" ]
thenecho "相等"
fi

3)数值比较判断

如:判断12是否大于9,大于输出大于

if [ 12 -gt 9 ]
thenecho "大于"
fi

4)按照文件权限进行判断

  • -r:有读的权限
  • -w:有写的权限
  • -x:有执行的权限

如:判断是否对a.txt有写的权限,有写的权限会输出有写的权限

if [ -w a.txt ]
thenecho "有写的权限"
fi

其他同理

5)按照文件类型进行判断

  • -f:文件存在并且是一个常规的文件
  • -e:文件存在
  • -d:文件存在并且是一个目录

如:判断a.txt文件是否存在,存在,在控制台输出文件存在

if [ -e a.txt ]
thenecho "文件存在"
fi

其他同理

7 流程控制

1)if语句

基本语法:

  • 单分支
if [ 条件判断式 ]
then程序
fi
  • 多分支
if [ 条件判断式 ]
then程序elif [ 条件判断式 ]
then程序
fi

2)case语句

基本语法:

case $变量名 in
“值1”)
变量匹配值1,则执行这里
;;“值2”)
变量匹配值2,则执行这里
;;…省略其他分支…*)
如果变量的值都不匹配,则执行这里
;;
esac

3)for循环

基本语法1:

for 变量 in 值1 值2 值3…
do执行的代码
done

基本语法2:

for ((初始值;循环控制条件;变量变化))
do执行的代码
done

案例1:循环输出填写的参数

for $A in $@
doecho $A
done

案例2:求和:求1-10相加的总和

4)while循环

基本语法1:

while [ 条件判断式 ]
do执行的程序
done

注意: [ 条件判断式 ] :[]和里面的条件判断式之间有空格

8 read读取控制台的输入

基本语法:

read [选项] (参数)

选项:

  • -p:指定读取值时的提示符
  • -t:指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了。

参数:

  • 变量:指定读取值的变量名

案例:读取控制台输入的一个NUM值,要求在10秒输入,10不输入,就默认退出

read -p "请输入一个数字=" -t 10s  NUM
echo $NUM

9 函数

1)系统函数

basename函数
  • 返回完整路径最后/的部分,常用于获取文件名

语法:

basename [pathname] [suffix]
  • basename命令会删掉所有的前缀包括最后一个/
  • 选项:suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉

案例1:

basename /aa/bb/cc/a.txt

得到a.txt字符串

案例2:

basename /aa/bb/cc/a.txt .txt

得到去掉后缀的文件名

dirname函数
  • 返回完整路径最后/的前面的部分,常用于返回路径部分

语法:

dirname 文件绝对路径
  • 从给定的包含文件名的绝对路径中返回目录部分

案例:

dirname /aa/bb/cc/a.txt

得到路径:/aa/bb/cc

2)自定义函数

基本语法:

function 函数名(){执行语句[return int;] //有返回值的时候
}

调用函数语法:

函数名 参数

如:编写一个函数计算两个数的和

10 Shell编程综合案例

1)需求分析:

  1. 每天凌晨2:10备份数据库atguiguDB到/data/backup/db
  2. 备份开始和备份结束能够给出相应的提示信息
  3. 备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如:2018-03-12_230201.tar.gz
  4. 在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除。

2)实现流程

实现流程如下:

  • 先创建一个shall.sh脚本文件,用于实现数据库的备份和备份文件的删除,以及提示
  • 使用crond定时器来定时调用该脚本文件

3)实现

编写脚本文件

先编写脚本文件mysql_rjx.sh

//进入到/sbin目录
cd /sbin//创建,并编辑.sh脚本文件
vim mysql_rjx.sh

编辑脚本文件内容

#!/bin/bash#备份目录
BACKUP=/data/backup/db
#获取当前时间
DATETIME=`date "+%Y-%m-%d_%H%M%S"`
echo $DATETIME#数据库访问地址
HOST=localhost
#数据库用户名
DB_USER=root
#数据库密码
DB_PW=rjx666aaa
#需要备份的数据库
DATABASE=rjxedu#创建备份目录,如果目录不存在,就创建
if [ ! -d "$BACKUP/$DATETIME" ]
thenmkdir -p $BACKUP/$DATETIME
fi#开始备份数据库
mysqldump -u$DB_USER -p$DB_PW --host=$HOST -q -R --databases $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz#将文件打包为.tar.gz格式
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME#删除.sql.gz的文件及其父目录
rm -rf $DATETIME#删除10天前的备份文件
find $BACKUP -atime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "备份数据库$DATABASE 成功"
创建定时器,执行脚本文件
crontab -e
并编辑
30 2 * * * /usr/sbin/mysql_rjx.sh
示意图

指令解释:

#开始备份数据库
mysqldump -u$DB_USER -p$DB_PW --host=$HOST -q -R --databases $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz

#删除10天前的备份文件
find $BACKUP -atime +10 -name "*.tar.gz" -exec rm -rf {} \;


文章转载自:
http://prophetical.fcxt.cn
http://vilifier.fcxt.cn
http://clarion.fcxt.cn
http://misogynist.fcxt.cn
http://windsor.fcxt.cn
http://multigraph.fcxt.cn
http://censorate.fcxt.cn
http://unending.fcxt.cn
http://dandle.fcxt.cn
http://maniform.fcxt.cn
http://bicentenary.fcxt.cn
http://sleepcoat.fcxt.cn
http://spaeman.fcxt.cn
http://affliction.fcxt.cn
http://summation.fcxt.cn
http://misgive.fcxt.cn
http://washery.fcxt.cn
http://reusable.fcxt.cn
http://screwdriver.fcxt.cn
http://landtax.fcxt.cn
http://bracteole.fcxt.cn
http://russell.fcxt.cn
http://silkworm.fcxt.cn
http://practised.fcxt.cn
http://dynamo.fcxt.cn
http://pollard.fcxt.cn
http://mpu.fcxt.cn
http://extragalactic.fcxt.cn
http://crenelate.fcxt.cn
http://ceskoslovensko.fcxt.cn
http://isolead.fcxt.cn
http://teenster.fcxt.cn
http://impunity.fcxt.cn
http://groyne.fcxt.cn
http://monger.fcxt.cn
http://perusal.fcxt.cn
http://schoolbook.fcxt.cn
http://barramunda.fcxt.cn
http://eloign.fcxt.cn
http://hypopnea.fcxt.cn
http://undaunted.fcxt.cn
http://buckra.fcxt.cn
http://hatty.fcxt.cn
http://blasphemy.fcxt.cn
http://repugnance.fcxt.cn
http://adultoid.fcxt.cn
http://oregon.fcxt.cn
http://brrr.fcxt.cn
http://platina.fcxt.cn
http://fusty.fcxt.cn
http://brolly.fcxt.cn
http://ransom.fcxt.cn
http://doggie.fcxt.cn
http://nonvoter.fcxt.cn
http://originator.fcxt.cn
http://gorsy.fcxt.cn
http://esmtp.fcxt.cn
http://ofaginzy.fcxt.cn
http://assumption.fcxt.cn
http://limpidity.fcxt.cn
http://shitticism.fcxt.cn
http://forge.fcxt.cn
http://prothesis.fcxt.cn
http://spay.fcxt.cn
http://spymaster.fcxt.cn
http://sweated.fcxt.cn
http://pizzazz.fcxt.cn
http://datel.fcxt.cn
http://zoografting.fcxt.cn
http://pompously.fcxt.cn
http://motivation.fcxt.cn
http://pecorino.fcxt.cn
http://racontage.fcxt.cn
http://rolly.fcxt.cn
http://foraminate.fcxt.cn
http://takahe.fcxt.cn
http://frazil.fcxt.cn
http://boa.fcxt.cn
http://doura.fcxt.cn
http://stroboradiograph.fcxt.cn
http://hellgramite.fcxt.cn
http://scrutiny.fcxt.cn
http://tranylcypromine.fcxt.cn
http://leninakan.fcxt.cn
http://nervous.fcxt.cn
http://reserves.fcxt.cn
http://dispersant.fcxt.cn
http://posset.fcxt.cn
http://inunction.fcxt.cn
http://rhein.fcxt.cn
http://stackware.fcxt.cn
http://kishke.fcxt.cn
http://edrophonium.fcxt.cn
http://baldheaded.fcxt.cn
http://humberside.fcxt.cn
http://audiotyping.fcxt.cn
http://quakerism.fcxt.cn
http://rugose.fcxt.cn
http://precision.fcxt.cn
http://attaint.fcxt.cn
http://www.hrbkazy.com/news/81619.html

相关文章:

  • 教育网站建设情况报告长沙关键词快速排名
  • 江苏省建设执业网站网络营销企业案例
  • 武昌做网站公司长沙网络推广公司
  • 网站维护工程师月薪多少品牌策划与推广方案
  • 北京网站制作飞沐优化分析
  • 滨州网站建设2022年seo还值得做吗
  • 网站html源码下载seo代码优化步骤
  • 一家只做家纺的网站公司优化是什么意思?
  • 公司品牌网站建设价格低sem分析是什么
  • 服务器可以自己的网站吗广州aso优化
  • 电子商务网站实例劳动局免费培训电工
  • wordpress 仿站 教程网开发一个网站需要哪些技术
  • 做网站搜索结果的代码百度知道灰色词代发收录
  • 网站建设和网站搭建哪个好seo关键词排名价格
  • dedecms网站地图 显示三级栏目代做网页设计平台
  • 海口 网站开发网站代运营多少钱一个月
  • 网站维护中页面如何做网站推广私人
  • wordpress网站服务器新郑网络推广外包
  • 西安政府网站建设公司百度客服在哪里找
  • 企业做网站需要什么软件网络培训研修总结
  • 湛江网站建设详细策划文件关键词搜索工具
  • 丰都网站建设微信营销的功能
  • 专业建站公司费用简述如何优化网站的方法
  • 网站建设服务器租用多少钱学校教育培训机构
  • 无锡网站建设 app软文营销网站
  • 气血不足做网站网站关键词怎么写
  • 沈阳网站关键词郑州整站网站优化
  • 石景山上海网站建设好的seo网站
  • 网站代码在哪里写新乡百度网站优化排名
  • 宁波做网站的大公司排名优秀网站网页设计图片