如何自动转义粘贴到终端的字符串中的特殊字符?
问题描述:
我安装了CLI实用程序“youtube-dl”。它需要一个网址作为参数。从系统剪贴板粘贴这些网址是很自然的。但是,使用zsh会返回一个错误“找不到匹配项”,因为youtube url中的特殊字符不会被转义。如何自动转义粘贴到终端的字符串中的特殊字符?
我需要从这个去:
https://www.youtube.com/watch?v=ShxHGFs2IKE
这样:
https\:\/\/www\.youtube\.com\/watch\?v=ShxHGFs2IKE
这是一个相当痛苦,每次手动逃避所有的字符,所以我的问题是:我怎么能做这项工作没有所有的手动编辑每次urls?
答
如说,在评论,请尝试使用引号:
youtube-dl 'https://www.youtube.com/watch?v=ShxHGFs2IKE'
也可以加载zsh
url-quote-magic得到特殊的shell字符必须在URL中自动报价:
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
+0
简单易懂 - 将字符串放在引号中完全解决了问题!谢谢。 有关网址引用魔术的知识也很多。 –
也许与封闭的网址'“...”'会帮助 – gribvirus74