关于lynx文本浏览器的问题

关于lynx文本浏览器的问题

当我访问这个网址时

https://github.com/search?q=jquery+stars%3A>10+forks%3A<10&type=Repositories

对 lynx 使用这个命令:

lynx -accept_all_cookies https://github.com/search?q=jquery+stars%3A>10+forks%3A<10&type=Repositories

首先我得到这样的代码 ->[1] 4324然后另一行写着 ->bash: 10: No such file or directory

那么,问题是我如何浏览这个 url url lynx?我也无法浏览curl这个 url,curl 也显示几乎相同。

我正在使用 ubuntu 12.04 LTS

答案1

Bash 正在解释 URL。<&对它来说很重要,所以它们会被破坏,而不会传递给 lynx。

简单的答案是引用 url:

lynx -accept_all_cookies 'https://github.com/search?q=jquery+stars%3A>10+forks%3A<10&type=Repositories'

我在这里使用单引号,因此甚至$不会被解释。

答案2

问题在于,由于您没有用引号引起来,您的 URL 包含由 shell 解释的特殊字符。因此,简而言之,请使用引号:

lynx -accept_all_cookies 'https://github.com/search?q=jquery+stars%3A>10+forks%3A<10&type=Repositories'

详细回答:这里的具体问题是>10&&将作业发送到后台:

$ sleep 5 &
[1] 2015

请注意,上述操作会导致出现类似的消息,括号中的数字是作业 ID,在这种情况下,1因为它是后台运行的唯一作业,另一个数字是后台进程的进程 ID (PID)。

下一个问题是,<10这意味着“从名为‘10’的文件读取输入,而>10shell 将其解释为“将输出重定向到名为‘10’的文件”。例如:

$ echo "Hello" > 10
$ cat 10
Hello

如果您简单地引用这些内容,就可以避免所有这些问题,引用将保护特殊字符不被 shell 解释。

相关内容