我的 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!