fish: sudo:!!: 명령을 찾을 수 없습니다

fish: sudo:!!: 명령을 찾을 수 없습니다

내 Linux Mint DE에 Fish가 설치되어 있습니다. 저는 Fish가 일을 더 쉽게 만들고 아름답게 보이게 만드는 방식을 정말 좋아합니다. 비록 제가 이것을 할 수 없는 이유에 대한 정답을 찾지는 못했지만:

sudo: !!: command not found

처음에는 느낌표를 탈출하기 위해 sudo를 사용해 보았습니다! 그러나 그것은 소용이 없었습니다. 왜 이것이 실패하는지 아는 사람이 있습니까?

답변1

!!Fish에 대한 내장된 대체 기능을 찾지 못했지만 계속 사용할 수 있는 함수를 작성할 수 있습니다.!!

이 답변 에서 가져옴https://superuser.com/a/719538/226822

function sudo --description "Replacement for Bash 'sudo !!' command to run last command using sudo."
    if test "$argv" = !!
        echo sudo $history[1]
        eval command sudo $history[1]
    else
        command sudo $argv
    end
end

답변2

!!구문은 fish에서는 구현되지 않는 bash의 기록 교체 기능의 일부입니다. 바라보다이 링크토론을 해보세요. 물고기가 무엇을 해야 한다고 생각하는지 자유롭게 평가해 보세요.

키 입력 측면에서 가장 효율적인 대안 sudo !!은 위쪽 화살표를 사용하여 마지막 기록 항목을 호출하고 Ctrl-A를 눌러 줄의 시작 부분으로 이동한 다음 sudo를 입력하는 것입니다.

답변3

@ridiculous_fish의 답변이 오래되었습니다. 동등한 결과를 얻는 가장 빠른 방법 은 + / (원하는 대로)를 사용한 다음 명령 앞에 +를 사용 하는 것 sudo !!입니다 .Ctrlpup-arrowAltssudo

답변4

Alt+를 누르기만 하면 s모든 작업이 한 단계로 완료됩니다! 마지막 명령은 sudo 명령 뒤에 새로 삽입됩니다. 고마워요 DT!

관련 정보