次のように入力できるようにbashエイリアスを実装したいと思います。
$> lynxsearch most popular unix text browsers
$> w3msearch most popular unix text browsers
(または引用符または括弧内の検索語)
検索結果ページに初期ロードが発生しました。
私の.bash_aliasesに次のものがありますが、クエリがある場合にのみ機能します。そして、複数のクエリでは機能しません。
alias w3g='f(){ w3m https://www.duckduckgo.com/?q=$@; unset -f f; };
f'
alias lyg='f(){ lynx https://www.duckduckgo.com/?q=$@; unset -f f;
}; f'
解決策はありますか?
ベストアンサー1
あなたの例では、URLは次のようになります。
https://www.duckduckgo.com/?q=most popular unix text browsers
スペースが含まれているため、有効なURLではありません。空白をより%20
簡単に置き換えることができます+
。
エイリアスはとにかく弱い関数なので、削除して適切な関数を作成してみましょう。
lynxsearch () {
local search=$@
search="${search// /%20}"
lynx "https://www.duckduckgo.com/?q=$search"
}
.bashrc
代わりにこれをあなたのものに入れてください.bash_aliases
。