프롬프트에서 bash_aliases를 통해 여러 검색어를 텍스트 브라우저에 전달

프롬프트에서 bash_aliases를 통해 여러 검색어를 텍스트 브라우저에 전달

다음을 입력할 수 있도록 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.

관련 정보