首页 > 解决方案 > 比较倍数 vars shell linux 的最佳方法

问题描述

我有一个 Ansible 剧本,它收集一些信息,最后写入一个类似这样的文件:

VAR_A=14.12.103
VAR_B=14.12.103
VAR_C=14.12.103
VAR_D=14.12.103
VAR_E=14.12.103
VAR_F=14.12.103
VAR_G=14.12.103
VAR_H=14.12.103

然后,我使用一个 shell 脚本来比较这些值,以确保每个变量都彼此相同。

比较这些变量的最佳方法是什么?其实我这样做:

if [ "$VAR_A" = "$VAR_B" ] && [ "$VAR_B" = "$VAR_C" ] && [ "$VAR_C" = "$VAR_D" ] && [ "$VAR_D" = "$VAR_E" ] && [ "$VAR_E" = "$VAR_F" ] && [ "$VAR_F" = "$VAR_G" ] && [ "$VAR_G" = "$VAR_H" ]; then
  echo "OK"
  exit 0
else
  echo "KO"
  exit 2
fi

但我认为这不是最好的方法..

有人有另一种解决方案吗?

谢谢

标签: linuxbashshell

解决方案


取决于您对“最佳”的定义?您在寻找运行时吗?还是清晰度?

因为您可以使用循环与VAR_A所有其他人进行比较,如果任何比较为假,则返回KOelse OK

我想不出一种方法让它在 bash 中更快,但如果有任何想法,我会进行编辑。


推荐阅读