如果shell的条件不起作用,则不确定我在做什么错误?

金刚

我需要根据服务器执行特定的任务集,因此我想根据服务器定义条件。这是我想到的脚本,我已经阅读了多个博客,但找不到我的脚本中的任何错误。你能指导我在这里忽略什么吗?

#!/bin/bash
SERVER_NAME=`hostname -s`
hostname -s
DBServer=(servr1 servr2 servr3 servr4)
#AppServer=[hqidlfdiwa01 , hqiqlfdiwa01]
echo "Values of DBServer seeing is ${DBServer[*]}"
Values of DBServer seeing is servr1 servr2 servr3 servr4
for i in ${DBServer[*]}
do
  echo "current value in I is $i"
  echo "The server name found is $SERVER_NAME"
  if [$SERVER_NAME == $i]
  then
    echo "I am on one of the servers and it is $i"
  fi
done

我在服务器上看到的输出是

current value in I is servr1
The server name found is servr1
-bash: [servr1: command not found
current value in I is servr2
The server name found is servr1
-bash: [servr1: command not found
current value in I is servr3
The server name found is servr1
-bash: [servr1: command not found
current value in I is servr4
The server name found is servr1
-bash: [servr1: command not found
约翰1024

在外壳中,空间很重要。

代替:

if [$SERVER_NAME == $i]

和:

if [ "$SERVER_NAME" = "$i" ]

如果没有空格,shell会认为您要运行带有参数和的名为[$SERVER_NAME(例如[servr1的命令有了空格,外壳程序会运行测试命令,用表示==$i][

另外,除非您了解要应用什么外壳扩展并且明确希望应用它们,否则请始终将外壳变量用双引号引起来。

最后,虽然bash在内部接受===等于字符串相等[...],但其他shell仅能理解=为了实现可移植性,最佳做法是将=string-equal内部使用[...]

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

分组依据不起作用...我在做什么错?

Gettext不起作用我在做什么错?

我不确定我在做什么错,但我不断收到错误C ++

不确定为什么我的变量不起作用

不确定while语句在做什么

这个jQuery选择器不起作用,我在做什么错?

golang会话变量不起作用。我在做什么错?

模态上的关闭按钮不起作用...我在做什么错?

__instancecheck__-覆盖不起作用-我在做什么错?

HTTP / 2服务器推送不起作用,我在做什么错?

Linux Bash“ |” 运算符不起作用-我在做什么错?

科尔多瓦事件不起作用,我在做什么错

我正在尝试在图像中间对齐文本。我不确定我在做什么错

无法从api获取信息时不确定我在做什么错?

不确定Windows Path命令在做什么?

不确定这行脚本代码在做什么

我不确定为什么Office Fabric UI React布局类不起作用

我写了一些jQuery,不确定为什么它不起作用

删除按钮不起作用-不确定错误

不确定ng-click为什么不起作用

python bottle boddle-patch(... side-effect =“ Exception)不起作用。我在做什么错

为什么要返回,如果否则不起作用

Racket博士-教授向我们发送了此代码;不确定它在做什么。想要澄清

为什么我的 htaccess 规则不起作用

为什么我的iptables规则不起作用?

为什么我的udev规则不起作用

表单提交在Rails中不起作用,可能存在路由/路径错误,不确定为什么吗?

如果为null,则不起作用

如果声明,则不起作用