我遇到了一些问题。我的主值 = 5,从值 = 10。如果 Slave 值大于 Master 值则回显“NEW RXID FILES ARE TRUE”但问题是我收到回声“NEX RXID 文件是假的 !!!!!!”怎么会变成这样? SuppoSTLy slave value 确实大于 master value 但在脚本中它告诉我不是。下面是我的代码。谁可以帮我这个事。谢谢。
#!/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
<
是ascii比较。尝试 -lt
而不是用于 int 比较。
替换
if [[ ${MasterID} < ${SlaveID} ]] ; then
与
if [ ${MasterID} -lt ${SlaveID} ] ; then
来源:Advanced Bash-Scripting Guide
我是一名优秀的程序员,十分优秀!