鱼壳中未转义的命令行内容


0

有没有办法在鱼中获得未转义的命令行内容?我的意思是如果命令行就像......

$ ls 'foo' "bar"

...期望的输出将是ls 'foo' "bar"

commandline鱼的命令不会返回命令行,但它会自动脱内容。即ls foo bar

在手册中我没有找到任何开关来抑制这种行为。

上下文:我试图模仿bash ctrl-x ctrl-e,它允许在编辑器中编辑命令行内容。为此,我需要命令行的未转义内容。

任何帮助,将不胜感激。

Answers:


1

原来鱼2.3修复了打印行为并使命令行未转义。在鱼2.3中commandline -b打印命令行未转义。


0

这不能回答我的想法,但我在网上找到了这个问题

function bind_edit_commandline
    set -l tmp (mktemp /tmp/fish-fc.XXXXXX)
    commandline > $tmp
    eval $EDITOR $tmp
    commandline -r ""
    cat $tmp | while read -l cmd; commandline -a "$cmd" ""; end 
    rm $tmp
end

我喜欢Altv,所以

bind \ev bind_edit_commandline

谢谢,但正如你所提到的,这并不能解决逃避问题。
blackwing

我没有看过源代码,但如果这是一个无法按照你想要的方式解决的问题,我也不会感到惊讶。
格伦杰克曼2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.