如何自动转义粘贴到终端的字符串中的特殊字符?
How can you automatically escape special characters in a string that is pasted into terminal?
我安装了 CLI 实用程序 "youtube-dl"。它以 url 作为参数。从系统剪贴板粘贴这些 url 是最自然的做法。然而,使用 zsh,这 returns 一个错误 "no matches found" 因为 youtube url 中的特殊字符没有被转义。
我需要从这里开始:
https://www.youtube.com/watch?v=ShxHGFs2IKE
对此:
https\:\/\/www\.youtube\.com\/watch\?v=ShxHGFs2IKE
每次都手动转义所有字符是一件很痛苦的事情,所以我的问题是:如果不每次都手动编辑 url,我怎样才能完成这项工作?
如评论中所述,尝试使用引号:
youtube-dl 'https://www.youtube.com/watch?v=ShxHGFs2IKE'
或者您可以加载 zsh
url-quote-magic 以获得在 URL 中自动引用的特殊 shell 字符:
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
我安装了 CLI 实用程序 "youtube-dl"。它以 url 作为参数。从系统剪贴板粘贴这些 url 是最自然的做法。然而,使用 zsh,这 returns 一个错误 "no matches found" 因为 youtube url 中的特殊字符没有被转义。
我需要从这里开始:
https://www.youtube.com/watch?v=ShxHGFs2IKE
对此:
https\:\/\/www\.youtube\.com\/watch\?v=ShxHGFs2IKE
每次都手动转义所有字符是一件很痛苦的事情,所以我的问题是:如果不每次都手动编辑 url,我怎样才能完成这项工作?
如评论中所述,尝试使用引号:
youtube-dl 'https://www.youtube.com/watch?v=ShxHGFs2IKE'
或者您可以加载 zsh
url-quote-magic 以获得在 URL 中自动引用的特殊 shell 字符:
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic