如何使用 W3M 为网络搜索创建 CLI 别名?

如何使用 W3M 为网络搜索创建 CLI 别名?

我想创建一个别名,其功能是通过命令行界面 (CLI) 使用 W3M 执行 DuckDuckGo 搜索。

我已经创建了别名,并调用了 DuckDuckGo 搜索引擎。但是,我还想在 CLI 中的别名后输入搜索关键字,但我不知道该怎么做。示例:

alias duckit="w3m https://lite.duckduckgo.com/lite/"

当我在 CLI 中输入命令时duckit,此别名会调用 DuckDuckGo 搜索引擎并打开网页。但我希望别名也在 DuckDuckGo 中输入搜索关键字并向我显示结果。

因此我尝试?q=在上面的别名末尾添加:

alias duckit="w3m https://lite.duckduckgo.com/lite/?q="

但是,按如下方式运行却不起作用:

duckit test

我需要做什么?

答案1

如果需要向别名传递参数,则不能使用别名,而需要使用函数。将其添加到您的~/.bashrc文件中:

duckit(){
    w3m https://lite.duckduckgo.com/lite/?q="$@"
}

现在打开一个新终端并尝试duckit test

答案2

安装指南

  1. 安装W3M 网络浏览器

    sudo apt-get install w3m
    
  2. 或者支持图像(在网页上显示图像):

    sudo apt-get install w3m w3m-img
    
  3. 将以下命令复制到 CLI 并按Enter

    echo 'duckit(){ w3m https://lite.duckduckgo.com/lite/?q="$*"; }' >> ~/.bashrc
    

4.打开新的CLI 并运行搜索

duckitl test my w3m on ddg

W3M




DuckIt-更新版本 0.4

DuckDuckGo 提供纯 HTML 版本的搜索引擎。
由于 W3M 无论如何都不支持 JavaScript,因此最好使用 DDG-HTML 页面。这样做有一个优点,即 HTML 页面不包含脚本,因此代码更少。代码越少,HTML 文件就越小,因此数据传输就越少,从而使页面加载速度更快。

echo 'duckit(){ w3m https://lite.duckduckgo.com/html/?q="$*"; }' >> ~/.bashrc

~/.bashrc如果您已经安装了 DuckIt-W3m,只需使用您最喜欢的文本编辑器(例如nano ~/.bashrc)将文件中的字符串从 更改litehtml

https://lite.duckduckgo.com/html/




DuckIt-更新版本 0.5

有些人喜欢Lynx 网络浏览器更好,所以我为你提供了两个新的别名。

别名已更改。DDG
-Lynx 别名是:duckitl

sudo apt-get install lynx
echo 'duckitx(){ lynx https://lite.duckduckgo.com/html/?q="$*"; }' >> ~/.bashrc

打开新的CLI 并运行搜索:

duckitx test my lynx on ddg

可能是地球上最快的搜索。

相关内容