陈奇网络工作室

shell脚本《一》的应用技巧

系统操作和维护

首先,判断字符串是否为整数。

[' 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

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3