如果条件始终为真,则执行Bash脚本

mike.b93

我正在尝试为结冰创建事件处理程序。我的Bash脚本现在看起来像这样:

#!/bin/bash
# Event Handler for loggin out inactive RDP users

# $1 is $SERVICESTATE$ (OK WARNING UNKNOWN CRITICAL)
# $2 is $SERVICESTATETYPE$ (SOFT HARD)
# $3 is $SERVICEATTEMPT$ (1 through 4)
# $4 is $SERVICDOWNTIME$ (0 no Downtime, >0 Downtime active)
# $5 is SRV29 
# $6 is $host.name$ (1 through 4)


if  [ "$4" > 0 ];
 echo "in downtime, exit";
 then exit
fi

case "$1" in
OK)
echo "ok!"
;;
WARNING)
echo "warning!"
;;
UNKNOWN)
echo "unknown!"
;;
CRITICAL)
echo "critical!"
...

当我在顶部没有if语句的情况下执行此脚本时,一切正常。但是我想检查$ 4是否大于0。此测试条件始终返回true,无论我在此条件内输入什么内容,始终会导致“停机,退出”。

因此,即使if [ "hello" = "hallo" ]它会进入内部并立即退出。我还尝试了几乎所有带引号的变体,不带双括号...等等。我显然做错了。谁能发现它?

提前致谢!

蒂莫西·马丁(Timothy Martin)

为了测试整数,您将要使用:

-eq  #Is equal
-ne  #Is not equal
-lt  #Less than
-le  #Less than or equal
-gt  #Greater than
-ge  #Greater than or equal

因此,您的test声明应为:

if  [ "$4" -gt 0 ];

此外,您的if声明缺少,then因此应更正为:

if  [ "$4" -gt 0 ]; then

请参阅man test以获取更多test选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果WordPress登录中的条件为真,则执行PHP脚本

来自分类Dev

如果我的条件为真,如何在bash脚本中运行多个命令

来自分类Dev

如果语句始终为真

来自分类Dev

如果返回始终为真

来自分类Dev

如果多个条件之一为真,如何执行JOIN?

来自分类Dev

如果多个条件为真,如何多次执行迭代?

来自分类Dev

MariaDB的执行UPDATE和DELETE然后如果条件为真

来自分类Dev

“如果”条件为真,但正在执行“其他”

来自分类Dev

如果语句与枚举相比始终为真

来自分类Dev

编译器:如果条件始终为真/假,该怎么办

来自分类Dev

如果条件始终为真,为什么要使用此PHP?

来自分类Dev

如果条件始终为真,为什么要使用此PHP?

来自分类Dev

PHP对数组的“如果为真”测试始终返回“真”?

来自分类Dev

Bash文件存在测试始终为真

来自分类Dev

如果条件被跳过,即使条件为真

来自分类Dev

bash 脚本:如果条件

来自分类Dev

如果语句为真,但未执行

来自分类Dev

Xpath 1.0:如果条件为真,则执行此操作 => 合并这 2 个 xpath

来自分类Dev

如果条件为真,则选择数据

来自分类Dev

如果条件为真,则排除文件

来自分类Dev

如果条件为真,则Cobol不进入

来自分类Dev

如果条件为真,则动态添加图标

来自分类Dev

如果条件为真,则停止功能

来自分类Dev

如果条件总是评估为真

来自分类Dev

如果条件为真,则隐藏元素

来自分类Dev

如果条件为真,则添加搜索参数

来自分类Dev

如果条件为真,则 SQL 过滤行

来自分类Dev

可为空的十进制如果始终为真

来自分类Dev

如果条件为真,则将 wordpress 帖子更新为草稿

Related 相关文章

热门标签

归档