Bash脚本。检查网站是否有效

时间:2014-11-06 20:28:06

标签: bash diff lynx

我需要编写一个脚本来告诉某个网站(第一个参数)是否已被更改。我写了类似的东西,但它不起作用,无法找到错误

#!/bin/bash     

website=$1
time=$2    #frequency of checking the page
x=1
spr=$(diff -s ttt.txt ttt1.txt)
lynx -dump $website | cat > ttt.txt ttt1.txt
until [ 1 -eq 0 ]; do
    sleep $2
    lynx -dump $website | cat > ttt1.txt

        if [ "$(diff -s ttt.txt ttt1.txt)" = "$spr" ]
        then
            lynx -dump $website | cat > ttt.txt
            echo "Changes were made "

        else
            echo "No changes"

        fi
done

1 个答案:

答案 0 :(得分:0)

这一行是问题所在:

lynx -dump $website | cat > ttt.txt ttt1.txt

因为在重定向后提供了2个文件,所以shell会看到:

cat ttt1.txt >ttt.txt

因此,猫正从ttt1.txt中读取,不是从其标准输入


演示:

$ cat > a <<END
hello
END
$ cat > b <<END
world
END
$ echo foo | cat > a b
$ cat a
world
$ cat b
world

&#34;富&#34;不会存储到任何一个文件中。