如何解决Linux的这个计算

时间:2015-08-15 10:39:17

标签: linux sh

我遇到了一些问题。我有主值= 5和从属值= 10。 如果Slave值大于Master值,则echo" NEW RXID FILES为TRUE" 但问题是我得到回应" NEX RXID文件是错误的!!!!!!" 怎么会这样?奴隶价值确实比主值大,但在脚本中它告诉我不是。 以下是我的代码。谁可以帮我这个事。谢谢。

#!/bin/sh
MasterID=0
SlaveID=0
MasterID=`sort -n ${1} | awk '{print $1}'|tail -1`
SlaveID=`sort -n ${2} | awk '{print $1}'|head -1`

echo "Last ID of Masterkey =" $MasterID #133
echo "First ID of NewRXID =" $SlaveID   #105

ControlID=`sort ${1} ${2}| awk 'seen[$1]++ == 1'|wc -l`
echo "Check MasterID to SlaveID =" $ControlID

if [[ ${MasterID} < ${SlaveID} ]] ; then
#if [[ $ControlID < 1 ]]; then
#if [[ '$MasterID' > '$SlaveID' ]] && [[ $controlID < 1 ]]; then
echo "NEW RXID FILES ARE TRUE"
else
echo "NEX RXID FILES ARE FALSE !!!!!!"
fi

1 个答案:

答案 0 :(得分:1)

<是一个ascii比较。请尝试使用-lt进行int比较。

替换

if [[ ${MasterID} < ${SlaveID} ]] ; then

if [ ${MasterID} -lt ${SlaveID} ] ; then

来源:Advanced Bash-Scripting Guide