我想创建一个别名,其功能是通过命令行界面 (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
安装指南
安装W3M 网络浏览器:
sudo apt-get install w3m
或者支持图像(在网页上显示图像):
sudo apt-get install w3m w3m-img
将以下命令复制到 CLI 并按Enter:
echo 'duckit(){ w3m https://lite.duckduckgo.com/lite/?q="$*"; }' >> ~/.bashrc
4.打开新的CLI 并运行搜索
duckitl test my w3m on ddg
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
)将文件中的字符串从 更改lite
为html
。
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
可能是地球上最快的搜索。