피쉬 쉘에서 이스케이프 처리되지 않은 명령 줄 내용


0

물고기에서 명령 줄의 이스케이프 처리되지 않은 내용을 얻는 방법이 있습니까? 커맨드 라인이 같다면 ...

$ ls 'foo' "bar"

... 원하는 출력은 다음과 같습니다 ls 'foo' "bar".

commandline물고기 명령은 명령 행을 반환하지 않습니다하지만 자동으로 컨텐츠를 이스케이프합니다. 즉 ls foo bar.

매뉴얼 에서이 동작을 억제하는 스위치를 찾지 못했습니다.

컨텍스트 : ctrl-x ctrl-e편집기에서 명령 줄 내용을 편집 할 수있는 bash를 에뮬레이션하려고합니다 . 이를 위해 명령 줄의 이스케이프 처리되지 않은 내용이 필요합니다.

도움을 주시면 감사하겠습니다.

답변:


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

소스 코드를 보지 않았지만 이것이 원하는 방식으로 해결할 수없는 문제인지는 놀라지 않을 것입니다.
glenn jackman 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.