如何在shell脚本hp-ux中使用diff3

时间:2016-05-17 16:29:55

标签: shell unix

我正在尝试自动化流程,

  1. 我有3个必须同步的文件,
  2. 有时我必须手动修改其中一个"主文件"
  3. 当我这样做时,我需要使用cp -p命令
  4. 复制其他2个文件

    我有这个脚本实际上有效,但我想确定何时"主文件"更改,因为如果我运行此脚本,将始终更改其他2个文件并不重要,如果它们是相同的。

    我知道发生这种情况是因为exit_status总是0,所以任何进展都会感激不尽

    #result=$(diff3 "the master file" file2 file3)
    exit_status=$?
    echo $exit_status
    if [ $? -eq 0 ]
    then
        echo "files are the same"
    else
        echo "files are different"
        cp -p "the master file" file2
        cp -p "the master file" file3
        echo "$result"
    fi
    

1 个答案:

答案 0 :(得分:0)

使用stat代替diff3来检查masterfile修改

while true
do
   if [ "$var" -ne "$(stat -c %Y masterfile)" ]
   then
     var=$(stat -c %Y masterfile) #Important step, updating var
     cp -p masterfile file2
     cp -p file2 file3
   else
     sleep 10m # I wish to check masterfile in another 10 minutes
   fi
done


注意:在ksh版本93u +

上测试