有人可以帮我解决这个问题吗?它运行得很好,但现在却创建了空文件或根本没有文件,或者只打印第一个链接而不打印其余的链接。不知道发生了什么。
我运行“sudo sh ./doimdb”
并且“doimdb”文本文件包含:
sudo lynx -dump http://www.imdb.com/title/tt0182576 > $RANDOM.txt
sudo lynx -dump http://www.imdb.com/title/tt0182576 > $RANDOM.txt
sudo lynx -dump http://www.imdb.com/title/tt0182576 > $RANDOM.txt
sudo grep -A 20 -r Storyline &> results.txt
答案1
您的代码的主要问题是:
- 仅在需要时才应使用 Sudo。否则,您可能会创建无权删除的文件等。
- 您的 grep 命令应该只重定向 stdout,而不是 stderr:
>
不是&>
。 - 您的 grep 命令应该仅引用正确的输入文件,而不是递归当前目录。
正确代码:
#!/bin/bash
lynx -dump http://www.imdb.com/title/tt0182576 > dl-$RANDOM.txt
lynx -dump http://www.imdb.com/title/tt0182576 > dl-$RANDOM.txt
lynx -dump http://www.imdb.com/title/tt0182576 > dl-$RANDOM.txt
grep -A 20 Storyline dl-*.txt> results.txt