系统操作和维护
首先,判断字符串是否为整数。
[' echo 123 a | sed-r \ \ \ ' s #[0-9]# # g \ \ \ ' '=' 123 a ']echo 1 | | echo 0
第二,监控db服务是否正常(多种方法)。
#!/bin/sh
if[' netstat-lnt | grep 3306 | awk-F[:]]\ \ \ ' { print $ 5 } \ \ \ ' '=' 3306 ']
#if [ lsof -i tcp:3306|wc -l -gt 0 ]
# if[PS-ef | grep MySQL | grep-v grep | WC-l-gt 0]
# if[NC-w 2 192 . 168 . 1 . 189 3306 gt;/dev/null echo ok | grep ok | WC-l-gt 0]
# if[nmap 192 . 168 . 1 . 189-p 3306 2gt;/dev/null |grep open| wc -l -gt 0 ]
# if[ss-ln tup | grep Mysqld | WC-l-gt 0]
第三,监控web服务是否正常。
#!/bin/sh
if[' netstat-lnt | grep 80 | awk-F[:]]\ \ \ ' { print $ 5 } \ \ \ ' '=' 80 ']
#if [ lsof -i tcp:80|wc -l -gt 0 ]
# if[PS-ef | grep httpd | grep-v grep | WC-l-gt 0]
# if[ss-ln tup | grep httpd | WC-l-gt 0]
wget-T 10-qspider http://192 . 168 . 0 . 101/dev/null
curl-s http://192 . 168 . 0 . 10/dev/null
如果[ $?-eq 0 ]
echo 'httpd正在运行'
其他
echo 'httpd没有运行'
/app/apache/bin/apachect1 start
船方不负担装货费用
命令使用说明:
Curl命令curl是一个文件传输工具,使用url规则在命令行下工作;命令行访问网站
参数
-s/-静音模式。只是不要显示错误和进度。
Wget命令inux wget是一个下载文件的工具,在命令行使用。
-T,-timeout=SECONDS默认情况下将超时设置为秒。
-q,-quiet不显示输出信息。
spider测试是否可以正常访问。
-t,-tries=NUMBER设置链接尝试的最大次数(0表示无限制)。
四、${parameter: expression}的用法和说明
描述:如果参数有值且不为空,则使用表达式的值。
示例:编写一个shell脚本来定义一个函数,以设置环境变量的路径。
prepend() {
[-d ' $ 2 ']eval $1=\ \ \ \ ' $ 2 \ \ \ \ $ { $ 1:\ \ \ '\ \ \ ' \ \ \ \ $ $ 1 } \ \ \ \ '导出$ 1
}
执行前置路径/opt/myapp/bin。
描述:
1.执行前置路径/opt/myapp/bin。
函数名第一个参数$1第二个参数$2
2、程序的执行过程
[-d '$2']判断第二个参数$2是否是目录。如果为真,则执行eval $ 1=\ \ \ ' $ 2 \ \ \ $ { $ 1:\ \ \ ' \ \ $ 1 } \。
第一个条件成立,执行下一个条件。
eval $ 1=\ \ \ \ ' $ 2 \ \ \ \ $ { $ 1:\ \ \ '\ \ \ ' \ \ \ \ $ $ 1 }
Eval命令是重新计算参数的内容。
就是将第一个参数设置的值的变量设置为第二个参数的值加上''(路径分隔符;后跟第一个参数的原始值。
\ \ \是转义特殊字符,如“$”
{$1: \ \' \ \' \ \ \ $ $1}如果$1为空,请使用\ \ \ $ $1。
传递参数后的结果
evaluate 评价
PATH='/opt/myapp/bin $ { PATH:\ \ \ '\ \ \ ' $ PATH } '
小路
第五,将列变成指定的行。
[root@localhost脚本]# cat b.log
一个
2
三
四
五
六
七
八
九
10
[root@localhost脚本]# xargs -n4 b.log
1 2 3 4
5 6 7 8
9 10
[根@本地主机脚本]#
第六,判断输入是否为整数。
is_NUM(){
表达式$1 1 /dev/null
如果[ $?-ne 0 -a '$1 '='-1' ];然后
返回1
船方不负担装货费用
返回0
}
第七,外壳调试技巧
使用dos2unix命令处理Windows下的开发步骤。
Sh -x足迹名称
-x会将执行步骤的内容和输出显示到屏幕上,然后执行它们。如果有错误,会有提示。
第八,获取字符长度的方法
${#a}
${a}|wc -L
表达式长度“${a}”
第九,bash循环打印下列句子中不超过6个字母的单词。
我是alibbb老师,欢迎来到老男孩培训班。
脚本1
#!/bin/bash
#
#array=(我是alibbb老师欢迎来到oldboy培训班)
${array[*]}中的#for word
我是alibbb老师,欢迎来到老男孩培训班
做
if[$ { # word }-le 6];然后
echo -n '$word '
船方不负担装货费用
完成的
回声
脚本2
#!/bin/bash
array=(我是alibbb老师欢迎来到oldboy培训班)
$ { array[*]}中的# for word for((I=0;I $ { # array[@]};我))
br/for((I=0;I $ { # array[@]};br/do
# if[$ { # word }-le 6];然后
if[$ { # array[$ I]}-le 6];然后
echo -n '${array[$i]} '
船方不负担装货费用
完成的
回声
Awk实施
[root@localhost脚本]# echo '我是alibbb老师欢迎来到老男孩培训班| tr \ \ \ ' \ \ \ ' \ \ \ ' \ \ \ \ n \ \ \ ' | awk \ \ \ ' { if(length $ 1)=6)print $ 1 } \ \ \ ' | tr \ \ \ ' \ \ n \ \ \ ' \ \ \ ' \ \ \ '
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网:www.chenqinet.cn