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

不买服务器做网站抖音seo是什么意思

不买服务器做网站,抖音seo是什么意思,郑州品牌网站建设,b2b的电子商务网站大全概念 把复杂的命令执行过程,通过逻辑代码,组成一个脚本文件的方式就叫做shell脚本。 shebang #! /bin/bash #! /bin/perl #! /bin/python执行脚本的方式 source my_first.sh . my_first.shbash my_first.sh ./my_first.sh变量引用 ${var} 取出变量结果 …

概念

把复杂的命令执行过程,通过逻辑代码,组成一个脚本文件的方式就叫做shell脚本。

shebang

#! /bin/bash
#! /bin/perl
#! /bin/python

执行脚本的方式

source my_first.sh
. my_first.shbash my_first.sh
./my_first.sh

变量引用
${var} 取出变量结果
$() 在括号中执行命令,且拿到命令的执行结果
`` 在括号中执行命令,且拿到命令的执行结果
$var 取出变量结果
() 开启子shell执行命令

xiao123@xiao123:~/Downloads/shscripts$ echo "当前用户是:$(whoami)"
当前用户是:xiao123
xiao123@xiao123:~/Downloads/shscripts$ echo "当前用户是:`whoami`"
当前用户是:xiao123
xiao123@xiao123:~/Downloads/shscripts$ var=xiao123
xiao123@xiao123:~/Downloads/shscripts$ echo "当前用户是:${var}"
当前用户是:xiao123
xiao123@xiao123:~/Downloads/shscripts$ echo "当前用户是:$var"
当前用户是:xiao123
xiao123@xiao123:~/Downloads/shscripts$

数学计算

支持的运算符展示
数学计算1

Linux用于计算的命令展示
shell基础命令只支持整数,小数运算需要使用bc命令
运算命令

双小括号(())

用法
(())用法
演示:

xiao123@xiao123:~/Downloads/shscripts$ echo $((5<7))   #为True,1
1
xiao123@xiao123:~/Downloads/shscripts$ echo $((5>7))   #为Fase,0
0
xiao123@xiao123:~/Downloads/shscripts$

脚本开发

1.想好脚本的功能,作用,以及需求
2.转换为shell代码

开发一个,接收用户输入数字,且对运算符号判断,最终的出结果的一个计算脚本

  1. 接收用户输入
  2. 对用户输入的不是数字进行判断
  3. 对输入的运算符进行判断
  4. 最终进行结果计算,输出打印

代码

xiao123@xiao123:~/Downloads/shscripts$ cat ./calculation.sh
#! /bin/bashdo_usage() {printf "Please input an integer!!!\n"exit 1
}read -p "Please input first number: " firstif [ -n "`echo ${first}|sed 's/[0-9]//g'`" ];
thendo_usage
firead -p "Please input an operator: " operatorif [ ${operator} != '+' ] && [ ${operator} != '-' ] && [ ${operator} != '/' ] && [ ${operator} != '*' ];
thenecho "Please input [+/-/*//]!!!"exit 2
firead -p "Please input second number: " secondif [ -n "`echo ${second}|sed 's/[0-9]//g'`" ];
thendo_usage
fiecho "${first}${operator}${second}=" $((${first}${operator}${second}))
xiao123@xiao123:~/Downloads/shscripts$

运行结果

xiao123@xiao123:~/Downloads/shscripts$ ./calculation.sh
Please input first number: qew123
Please input an integer!!!
xiao123@xiao123:~/Downloads/shscripts$ ./calculation.sh
Please input first number: 123
Please input an operator: eeee
Please input [+/-/*//]!!!
xiao123@xiao123:~/Downloads/shscripts$ ./calculation.sh
Please input first number: 123
Please input an operator: +
Please input second number: 12
123+12= 135
xiao123@xiao123:~/Downloads/shscripts$

let命令运算

let命令的执行,效果等同于双小括号(())
但是,双小括号(())效率更高

#对比
xiao123@xiao123:~/Downloads/shscripts$ num=5
xiao123@xiao123:~/Downloads/shscripts$ num=num+5
xiao123@xiao123:~/Downloads/shscripts$ echo ${num}
num+5
xiao123@xiao123:~/Downloads/shscripts$ num=5+5
xiao123@xiao123:~/Downloads/shscripts$ echo ${num}
5+5
xiao123@xiao123:~/Downloads/shscripts$
#let命令
xiao123@xiao123:~/Downloads/shscripts$ num=5
xiao123@xiao123:~/Downloads/shscripts$ let num=num+5
xiao123@xiao123:~/Downloads/shscripts$ echo ${num}
10
xiao123@xiao123:~/Downloads/shscripts$ let num=5+5
xiao123@xiao123:~/Downloads/shscripts$ echo ${num}
10
xiao123@xiao123:~/Downloads/shscripts$

脚本开发,对于nginx运行状态检测

#! /bin/bashCheckUrl(){timeout=5fails=0success=0while truedowget --timeout=${timeout} --tries=1 http://www.baidu.com -q -o /dev/nullif [ $? -ne 0 ];thenlet fails=fails+1elselet success=success+1fiif [ ${success} -ge 1 ];thenecho "恭喜你,服务运行正常"exit 0fiif [ ${fails} -ge 2 ];thenecho "糟糕了,服务运行异常,请检查服务器状态"exit 2fidone
}CheckUrl# 运行结果
xiao123@xiao123:~/Downloads/shscripts$ ./let_test.sh
恭喜你,服务运行正常
xiao123@xiao123:~/Downloads/shscripts$

expr命令

简单的计算器执行命令。

xiao123@xiao123:~/Downloads/shscripts$ expr --help
Usage: expr EXPRESSIONor:  expr OPTION--help     display this help and exit--version  output version information and exitPrint the value of EXPRESSION to standard output.  A blank line below
separates increasing precedence groups.  EXPRESSION may be:ARG1 | ARG2       ARG1 if it is neither null nor 0, otherwise ARG2ARG1 & ARG2       ARG1 if neither argument is null or 0, otherwise 0ARG1 < ARG2       ARG1 is less than ARG2ARG1 <= ARG2      ARG1 is less than or equal to ARG2ARG1 = ARG2       ARG1 is equal to ARG2ARG1 != ARG2      ARG1 is unequal to ARG2ARG1 >= ARG2      ARG1 is greater than or equal to ARG2ARG1 > ARG2       ARG1 is greater than ARG2ARG1 + ARG2       arithmetic sum of ARG1 and ARG2ARG1 - ARG2       arithmetic difference of ARG1 and ARG2ARG1 * ARG2       arithmetic product of ARG1 and ARG2ARG1 / ARG2       arithmetic quotient of ARG1 divided by ARG2ARG1 % ARG2       arithmetic remainder of ARG1 divided by ARG2STRING : REGEXP   anchored pattern match of REGEXP in STRINGmatch STRING REGEXP        same as STRING : REGEXPsubstr STRING POS LENGTH   substring of STRING, POS counted from 1index STRING CHARS         index in STRING where any CHARS is found, or 0length STRING              length of STRING+ TOKEN                    interpret TOKEN as a string, even if it is akeyword like 'match' or an operator like '/'( EXPRESSION )             value of EXPRESSIONBeware that many operators need to be escaped or quoted for shells.
Comparisons are arithmetic if both ARGs are numbers, else lexicographical.
Pattern matches return the string matched between \( and \) or null; if
\( and \) are not used, they return the number of characters matched or 0.Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null
or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/expr>
or available locally via: info '(coreutils) expr invocation'
xiao123@xiao123:~/Downloads/shscripts$

实践
运算

expr 命令并不是很好用,基于空格传输参数,但是在shell中一些元字符都是有特殊含义的。
xiao123@xiao123:~/Downloads/shscripts$ expr 5 \+ 3
8
xiao123@xiao123:~/Downloads/shscripts$ expr 5 \- 3
2
xiao123@xiao123:~/Downloads/shscripts$ expr 5 \* 3
15
xiao123@xiao123:~/Downloads/shscripts$ expr 5 \/ 3
1
xiao123@xiao123:~/Downloads/shscripts$

求长度

xiao123@xiao123:~/Downloads/shscripts$ expr length 123456789
9
xiao123@xiao123:~/Downloads/shscripts$

逻辑运算

xiao123@xiao123:~/Downloads/shscripts$ expr 5 \> 6
0
xiao123@xiao123:~/Downloads/shscripts$ expr 5 \< 6
1
xiao123@xiao123:~/Downloads/shscripts$

模式匹配
2个特殊符号:

  • : 冒号,计算字符串字符的数量,Yuchao 6个字符
  • .* 任意字符重复0次或者多次

语法
expr 字符串 “:” “.*”

xiao123@xiao123:~/Downloads/shscripts$ expr yc.png ":" ".*"
6
xiao123@xiao123:~/Downloads/shscripts$ expr yc.png ":" ".*"  #统计文件中字符个数
6
xiao123@xiao123:~/Downloads/shscripts$ expr yc.png ":" ".*j"  #最后的模式可以自定义
0
xiao123@xiao123:~/Downloads/shscripts$ expr yc.png ":" "p.*"  #最后的模式可以自定义
0
xiao123@xiao123:~/Downloads/shscripts$ expr yc.png ":" "y.*"  #最后的模式可以自定义
6
xiao123@xiao123:~/Downloads/shscripts$ expr yc.png ":" ".*p"  #最后的模式可以自定义
4
xiao123@xiao123:~/Downloads/shscripts$

脚本开发
需求:执行脚本,传入一个文件名,然后判断该文件,是否是jpg图片文件

xiao123@xiao123:~/Downloads/shscripts$ ./expr_test.sh chaochao_1.jpg
这的确是chaochao_1.jpg结尾的文件
xiao123@xiao123:~/Downloads/shscripts$ cat ./expr_test.sh
#! /bin/bashif expr "$1" ":" ".*\.jpg" >> /dev/nullthenecho "这的确是$1结尾的文件"
elseecho "这不是jpg结尾的文件"
fi
xiao123@xiao123:~/Downloads/shscripts$

找出长度不大于为5的单词

xiao123@xiao123:~/Downloads/shscripts$ ./expr_test1.sh
I
am
Yu
I
you
to
xiao123@xiao123:~/Downloads/shscripts$ cat ./expr_test1.sh
#! /bin/bashfor str1 in I am Yu chao, I teach you to learn linux.doif [ `expr length ${str1}` -lt 5 ]thenecho ${str1}fidone
xiao123@xiao123:~/Downloads/shscripts$

bc 命令

bc计算器
awk支持数值计算
中括号运算

bc当作计算器来用的,命令行的计算器。
例子1

xiao123@xiao123:~/Downloads/shscripts$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2+2
4
4*4
16
1-1
0
1-2
-1
2.24/2
1
2.2/2.0
1
2.22-1.1
1.12
^C
(interrupt) use quit to exit.
exit
0
^C
(interrupt) use quit to exit.
quit
xiao123@xiao123:~/Downloads/shscripts$

例子2

xiao123@xiao123:~/Downloads/shscripts$ num=5
xiao123@xiao123:~/Downloads/shscripts$ echo ${num}*5 | bc
25
xiao123@xiao123:~/Downloads/shscripts$

案例

计算出1-1000的总和
数学公式
1+2+3+4+…+100

xiao123@xiao123:~/Downloads/shscripts$ echo {1..100}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
xiao123@xiao123:~/Downloads/shscripts$ #tr 替换
xiao123@xiao123:~/Downloads/shscripts$ echo {1..100} | tr " " "+" #方案1
1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100
xiao123@xiao123:~/Downloads/shscripts$ seq -s "+" 100  #方案2
1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100
xiao123@xiao123:~/Downloads/shscripts$
xiao123@xiao123:~/Downloads/shscripts$ echo {1..100} | tr " " "+" | bc
5050
xiao123@xiao123:~/Downloads/shscripts$
xiao123@xiao123:~/Downloads/shscripts$ echo $((`echo {1..100} | tr " " "+"`))
5050
xiao123@xiao123:~/Downloads/shscripts$
xiao123@xiao123:~/Downloads/shscripts$ seq -s " + " 100 | xargs expr
5050
xiao123@xiao123:~/Downloads/shscripts$

awk计算

awk支持小数计算。

xiao123@xiao123:~/Downloads/shscripts$ seq -s " + " 100 | xargs expr
5050
xiao123@xiao123:~/Downloads/shscripts$ echo "2.2" "3.0" | awk '{print $1*$2}'
6.6
xiao123@xiao123:~/Downloads/shscripts$ echo "2.2" "3.0" | awk '{print ($1*$2)}'
6.6
xiao123@xiao123:~/Downloads/shscripts$ echo "2.2" "3.0" | awk '{print ($1*$2)+4}'
10.6
xiao123@xiao123:~/Downloads/shscripts$ echo "2.2" "3.0" | awk '{print $1*$2+4}'
10.6
xiao123@xiao123:~/Downloads/shscripts$

中括号计算

$[表达式]

xiao123@xiao123:~/Downloads/shscripts$ num=5
xiao123@xiao123:~/Downloads/shscripts$ res=$[num+4]
xiao123@xiao123:~/Downloads/shscripts$ echo ${res}
9
xiao123@xiao123:~/Downloads/shscripts$ res=$[num-4]
xiao123@xiao123:~/Downloads/shscripts$ echo ${res}
1
xiao123@xiao123:~/Downloads/shscripts$ res=$[num*4]
xiao123@xiao123:~/Downloads/shscripts$ echo ${res}
20
xiao123@xiao123:~/Downloads/shscripts$ res=$[num/4]
xiao123@xiao123:~/Downloads/shscripts$ echo ${res}
1
xiao123@xiao123:~/Downloads/shscripts$
http://www.hengruixuexiao.com/news/7284.html

相关文章:

  • 聚合页面网站什么时候做百度推广登录官网
  • 网站优化具体怎么做郑州优化网站关键词
  • 什么网站做的很好百度关键词屏蔽
  • 电商网站平台建设方案宣传软文是什么
  • seo排名怎么提高seo是什么缩写
  • 建网站的软件 优帮云百度竞价ocpc投放策略
  • 为什么自己做的网站别人打不开营销策划
  • 使用爬虫做的网站安徽做网站公司哪家好
  • 山东网站建设找哪家信息流优化师怎么入行
  • 番禺低价网站建设班级优化大师官方网站
  • 河南外贸网站建设开发网站的公司
  • 大连装修公司排名前十口碑推荐临沂seo推广
  • 局域网建设网站视频教程网店营销
  • 舅舅建筑网seo服务外包客服
  • 建盏公司官方网站武汉网络seo公司
  • 浙江网站建站十大接单推广平台
  • wordpress添加注册漳州seo建站
  • 自微网站首页昆明seocn整站优化
  • dw做的网站怎样才有域名网站外贸推广
  • 怎样做打赏网站网站策划书模板
  • 中山建网站最好的公司最新域名8xgmvxyz
  • 湛江招聘网最新招聘白云百度seo公司
  • 自己怎么做拼单网站市场调研报告范文
  • 如何做网站的seo短视频平台推广方案
  • 图片做视频网站有哪些东莞网站制作
  • 百家号如何给网站做推广百度公司官网招聘
  • 澳门赌网站怎么做代理自建站
  • 成都建设路小学网站合肥建站公司seo
  • 株洲住房和城乡建设委员会网站百度直播
  • 重庆建站网站免费长春免费网上推广