Zsh พูดว่า "ไม่พบรายการที่ตรงกัน" เมื่อพยายามดาวน์โหลดวิดีโอด้วย youtube-dl


17

ฉันดาวน์โหลด youtube-dl โดยใช้ pip บน CrunchBang (Debian Wheezy distro) เมื่อฉันวิ่ง

youtube-dl {video URL}

ฉันเข้าใจ

zsh: no matches found: {video URL}

ฉันเดาว่ามันเกี่ยวข้องกับ zsh เพราะฉันพบผู้ใช้บางคนในฟอรัม Arch ที่บ่นเกี่ยวกับเรื่องนี้ เมื่อฉันเปลี่ยนเป็นการทุบตีมันก็ใช้ได้


@Ramhound การเปลี่ยนเป็น bash ไม่ใช่เรื่องใหญ่ แต่ทำไมการเปลี่ยนเป็น bash ทุกครั้งที่คุณต้องการดาวน์โหลดวิดีโอ นอกเหนือจากการที่ผมทำงานใน virualenv เปลี่ยนไปทุบตีที่จะลองและตอนนี้ virtualenvwrapper ของฉันเป็น messed ขึ้นฉันจำเป็นต้องถอนการติดตั้งเพื่อให้การทำงานอีกครั้งstackoverflow.com/questions/11507186/...
Lynob

คำสั่งนี้แก้ไขปัญหาของฉัน: setopt + o nomatch Ref => unix.stackexchange.com/questions/310540/…
Paramesh

คำตอบ:


26

ลองอ้างอิง URL เช่น

youtube-dl '{video URL}'

ในรูปแบบของคุณเพื่อหลีกเลี่ยงการตีความตัวอักษรพิเศษในสตริง


ทำไมไม่มีใครพูดถึงเรื่องนี้? ใช้งานได้ฉันจะยอมรับได้ใน 6 นาทีระบบจะไม่ยอมให้ฉันรับมันทันที
Lynob

2
@ ฟิชเชอร์โดยวิธี: Zsh ของฉัน (บน OS X ใน iTerm2 กับ oh-my-zsh) จะหนีอักขระเชลล์เฉพาะโดยอัตโนมัติเช่น&และ!ดังนั้นอาจมีตัวเลือกในการกำหนดค่า
slhck

@slhck ฉันเพิ่งลองใช้ xterm ไม่ทำงานฉันไม่มี xterm2 ฉันใช้ oh-my-zsh ด้วย .. ใช่ฉันเดาว่าฉันต้องกำหนดค่า zsh ของฉันสำหรับสิ่งนั้นฉันเดาว่า bash ทำได้โดย เป็นค่าเริ่มต้นเนื่องจากฉันไม่ได้กำหนดค่ายังคงใช้การกำหนดค่าเริ่มต้น
Lynob

2
@Fischer: คุณจะต้องโหลดurl-quote-magicfuntion เพื่อรับ shellcharacters พิเศษที่จะเสนอราคาโดยอัตโนมัติใน URL:autoload -Uz url-quote-magic; zle -N self-insert url-quote-magic
mpy

คำคม ฉันรู้สึกเหมือนคนงี่เง่า ..
myol

4

สิ่งนี้ถูกกล่าวถึงในความคิดเห็นแล้ว แต่สมควรได้รับคำตอบ:

autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic

autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic

สิ่งนี้ทำให้ URL ที่วางถูกอ้างสิทธิ์โดยอัตโนมัติโดยไม่จำเป็นต้องปิดการใช้งานแบบวนรอบ


อุ๊ปส์ใช้งานได้ ความผิดฉันเอง!
Lenar Hoyt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.