![인용할 필요가 없는 매개변수 문자열을 받아들이는 함수를 작성하는 방법은 무엇입니까?](https://linux55.com/image/215752/%EC%9D%B8%EC%9A%A9%ED%95%A0%20%ED%95%84%EC%9A%94%EA%B0%80%20%EC%97%86%EB%8A%94%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EB%B0%9B%EC%95%84%EB%93%A4%EC%9D%B4%EB%8A%94%20%ED%95%A8%EC%88%98%EB%A5%BC%20%EC%9E%91%EC%84%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 Mac에서 ~/.zshrc에 추가할 함수를 작성 중입니다. 이는 보다 빠른 처리를 위한 것입니다 youtube-dl
.
나는 이것을 가지고있다:
function dlv()
{
cd /Users/admin/Downloads
youtube-dl -f 'best' "$1"
}
그런데 요청할 때 유튜브 링크를 따옴표로 묶어서 입력해야 해요.
dlv "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
바꾸다dlv https://www.youtube.com/watch?v=dQw4w9WgXcQ
이 목표를 어떻게 달성할 수 있나요?
답변1
글쎄, zsh
알았어당신을 위한 추천인 URLzle
기능 및 라인 편집기를 통해 :
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic
그런 다음 URL을 터미널에 입력하거나 붙여넣으면 자동으로 인용됩니다.
또 다른 접근 방식( 에도 사용됨 )은 명령줄을 작성하는 함수에 바로가기(예: ++ ) zle
를 할당하는 것입니다. 즉, 참조된 URL 앞에 명령과 해당 옵션을 삽입합니다.CtrlAlty
dlv () {
cmd='youtube-dl -f best '
jump=$(( ${#${(qq)BUFFER}} - ${#BUFFER} ))
BUFFER=${cmd}${(qq)BUFFER}
CURSOR+=$(( ${#cmd} + jump ))
}
zle -N dlv
bindkey '^[^y' dlv
다음과 같이 사용할 수 있습니다. URL을 입력하거나 붙여넣은 다음 Ctrl+를 클릭하여 앞에 있는 URL을 인용 Alt하고 커서를 줄 끝에 놓습니다. 그런 다음 클릭하여 위 항목을 추가하여 영구적으로 만드세요.yyoutube-dl -f best
Enter.zshrc
다른 사람들은 특정 명령 이후의 모든 것을 참조하기 위해 위젯/플러그인을 사용하는 것을 선호합니다(참조여기또는여기)...그렇습니다. 견적을 받는 방법에는 여러 가지가 있습니다.