次のように実行される関数を作成したいと思います。
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' "https://www.youtube.com/watch?v=_OBlgSz8sSM"
現在、.zshrcで私は努力しています。
downloadyoutube(){
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' "$1"
しかし、呼び出し時にURLの周りに引用符を追加したいと思います。
代わりに走りたい
downloadyoutube https://www.youtube.com/watch?v=_OBlgSz8sSM
引用なし。
まさか
downloadyoutube "https://www.youtube.com/watch?v=_OBlgSz8sSM"
これを行う方法はありますか?
ベストアンサー1
Kusalanandaが言ったように、noglob
これは行く方法です。関数をそのまま定義してからalias
includeを使用できますnoglob
。
downloadyoutube(){
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' "$1"
}
alias downloadyoutube="noglob downloadyoutube"
とにかく、これらの主張で何をしようとしているのかは意味がありません。youtube-dl
現在のページを読むのに何年もかかったことに暗黙的に同意してくださいman
。
クサラナンダが正しいことを強調したいです。
- 一部の特殊文字が問題になりたい場合に備えて、ここにいる
'
必要もありません。"
- ワイルドカードをオフにしてもイベント/リダイレクト文字を防ぐのに役立ちません。すべてのYouTube URLにその文字が含まれているため、文字列(行の末尾ではなく)に貼り付けたコンテンツを
&
自動的に置き換えるようにシェルを設定することをお勧めします。 zshはこれを自動的に行い、oh-my-zshが責任があると思います。&
\&