我需要编写一个脚本来告诉某个网站(第一个参数)是否已被更改。我写了类似的东西,但它不起作用,无法找到错误
#!/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
答案 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;不会存储到任何一个文件中。