实例1:写shell脚本定义函数设置环境变量路径
prepend() {
[ -d “$2” ] && eval $1="$2${$1:+’:’$$1}" && export $1
}
执行 prepend PATH /opt/myapp/bin
说明:脚本解释
1、执行 prepend PATH /opt/myapp/bin
函数名 第一参数$1 第二参数$2
2、程序的执行过程
[ -d “$2” ] 判断第二参数$2是否为目录如果为真则执行 eval $1="$2${$1:+’:’$$1}"
&& 第一条件成立执行下一个
eval $1="$2${$1:+’:’$
”
{$1:+’:’$$1} 判断$1 为空则使用$$1
传参后的结果
eval
PATH = " /opt/myapp/bin KaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+':'PATH}"
PATH
实例2:监控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 -lntup|grep httpd| wc -l
-gt 0 ]
wget -T 10 -q --spider http://192.168.0.101 >&/dev/null
curl -s http://192.168.0.101>/dev/null
if [ $? -eq 0 ]
echo “httpd is running”
else
echo “httpd is not running”
/app/apache/bin/apachect1 start
fi
要点说明:
curl 命令 curl是一个利用URL规则在命令行下工作的文件传输工具;命令行访问网站
参数
-s/–silent 静音模式。就是不显示错误和进度
wget 命令inux wget是一个下载文件的工具,它用在命令行下
-T,–timeout=SECONDS 设置超时时间 默认是秒
-q,–quiet 不显示输出信息
–spider 测试是否能正常访问
-t, --tries=NUMBER 设定最大尝试链接次数(0 表示无限制).