鱼: sudo:!!:命令未找到

鱼: 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

!!语法是 bash 历史记录替换功能的一部分,fish 并未实现该功能。看这个链接进行讨论。请随意权衡您认为鱼应该做什么。

最有效(就按键而言)的替代方法sudo !!是使用向上箭头来调用最后一个历史记录项,按 ctrl-A 移动到行首,然后输入 sudo。

答案3

@ridiculous_fish 的答案已经过时了。实现等效的最快方法sudo !!Ctrl+ p/ up-arrow(无论您喜欢哪个),然后Alt+s在命令前面加上sudo.

答案4

只需按Alt+s即可一步完成!最后一个命令是在 sudo 命令之后新插入的。谢谢DT!

相关内容