Today, I'm going to write small shell program to verify the demo servers if alive.
This is the script:
#!/bin/sh
echo "Check Servers status startup...."
MAIL_TITLE="OSL OO DEMO SERVERS Check Failed!"
VM03="oardc-vm03.cn.oracle.com"
FOUND=`ping $VM03 -c 2 | grep '2 received,'`
if [ -n $FOUND ];
then
echo $VM03' is OK!' | mailx -s "Test OK" yonghui.feng@oracle.com
else
echo $VM03' is Failed!' | mailx -s "$MAIL_TITLE" yonghui.feng@oracle.com
fi
echo "Check Servers status done. check your email"
When I run the script in command line, I got the error message:
Check Servers status startup....
./test.sh: line 11: [: too many arguments
Check the line 11:
if [ -n $FOUND ];
Why it will cause the problem?
That is the reason:
when I print the variable:
[root@xxxadmin]# echo $FOUND
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
convert this variable to the expression: if [ -n $FOUND ];
it will be: if [ -n 2 packets transmitted, 2 received, 0% packet loss, time 1000ms ]
if you run the command:
[root@xxxadmin]# [ -n 2 packets transmitted, 2 received, 0% packet loss, time 1000ms ]
-bash: [: too many arguments
So we should wrap the variable with "
if [ -n "$FOUND" ];
Notice the ".
That will work well.
this is the final version:
#!/bin/sh
echo "Check Servers status startup...."
MAIL_TITLE="OSL OO DEMO SERVERS Check Failed!"
VM03="oardc-vm03.cn.oracle.com"
FOUND=`ping $VM03 -c 2 | grep '2 received,'`
if [ -n "$FOUND" ];
then
echo $VM03' is OK!' | mailx -s "Test OK" yonghui.feng@oracle.com
else
echo $VM03' is Failed!' | mailx -s "$MAIL_TITLE" yonghui.feng@oracle.com
fi
echo "Check Servers status done. check your email"
分享到:
相关推荐
当filename为空或者只有一行没有空格的字符串的时候,一切正常,反之,则会报:too many arguments,甚至是: binary operator expected之类的错误。 参考文章:...
|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:| | 25 | 28.57 | 28.83 | 28.68 | 28.96 | 28.74 | 28.92 | **29.23** | **29.16** | **29.17** | - Set...
NULL 博文链接:https://gembler.iteye.com/blog/346242
使用国内源安装tensorflow: pip install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade tensorflow-gpu==1.5.0 pip install -i ... 国内镜像源: 阿里云 ...中国科技大学 ...豆瓣(douban) ...
### Freeswitch之mod_callcenter模块介绍 #### 模块概述 `mod_callcenter`是Freeswitch中的一个强大模块,主要用于实现呼叫中心的功能。它能够处理来电分配、队列管理、座席状态监控等常见呼叫中心场景的需求。...
避免使用`arguments`,利用默认参数和解构赋值传递参数。 - 异步编程:推荐使用Promise和async/await,避免回调地狱。 4. **工程化规范** - 构建工具:使用Webpack、Gulp或Rollup进行项目构建,自动化处理源码、...
### Shell命令详解精编版 #### 一、Shell概述与分类 **Shell** 是 Linux 操作系统中的一个重要组成部分,它充当用户与操作系统之间的接口。在 Linux 中,最常用的 Shell 类型是 Bash(Bourne Again Shell)。此外...
arguments-target:[DOMElement,insertPosition] | DOMElement-tag:HTML标签名称属性:HTML属性,样式 property- $ parent:DOMElement- $:DOMElement 方法-HTML :(模板| $ target,模板)=> void-addHTML :...
- arguments对象:在函数内部,arguments对象提供了对传入参数的访问。 5. **异步编程** - 回调函数:理解异步编程的基础,如何处理耗时的操作。 - Promise:学习Promise的三种状态(pending、fulfilled和...
- arguments对象的作用。 - 箭头函数的特点和用法。 - 作用域链与闭包。 5. **对象与数组** - 对象创建:字面量语法、构造函数。 - 属性访问:dot notation、bracket notation。 - 数组方法:push、pop、...
- arguments: 强烈的论据,这里指对于计划的赞成和反对的争论,“arguments”意为“争论”或“论点”。 - obtain: 这个动词意味着他总是能获得他想要的东西,意为“获取”或“得到”。 2. 单项选择题: - 正确...
描述中提到的 "ORA-00600: INTERNAL ERROR CODE, ARGUMENTS: [17059], [0X93953434]" 是一个Oracle数据库内部错误代码,表示遇到了无法处理的系统级异常。ORA-00600错误通常涉及到数据库的内部一致性问题,这可能是...
swift-test-codecov 我写这篇文章是因为很难找到可以摄取swift test --enable-code-coverage生成的代码覆盖率报告的工具。 用法 图书馆 该库有一个非常小而直接的界面。 我还没有时间在 README 中写下它,但是看看...
hadoop archive -archiveName test.har -p test/ -i test.haridx /user/test/data /user/test/har ``` **2.2 distcp** `distcp`命令用于分布式复制数据。它可以在不同HDFS之间进行高效的数据迁移。 **命令格式**...
- exec[-cl][-aname][command[arguments]]:介绍了如何替换当前shell进程。 - exit[n]:说明了退出当前shell的方法。 - export[-fn][name[=word]]:解释了如何导出环境变量。 - fc[-eename][-lnr][first][last]:...
async'export default function MyUserInterface ( { id } : { id : string } ) { // :backhand_index_pointing_right: pass action and arguments into the array const response = useDispatchAsync ( ...
- **预定义异常**:如NO_DATA_FOUND、TOO_MANY_ROWS等。 - **自定义异常**:可以通过DECLARE语句定义。 - **异常传播**:异常如何在不同的程序块之间传递。 - **异常处理编程**:如何编写异常处理代码。 #### 6. ...
好在certbot提供了一个钩子,可以编写一个Shell脚本,让脚本调用DNS服务商的API接口,动态添加TXT记录。安装安装aliyun cli工具wget ...