Fish shell & sudo !!

Het gebeurt maar al te vaak dat je in de terminal een commando opnieuw wilt uitvoeren maar dan met sudo ervoor. Op de meeste systemen typ je dan sudo !! om het vorige commando als super user uit te voeren, maar fish shell doet dat niet.

Het is echter mogelijk om de sudo functie te herdefiniëren om dit probleem op te lossen.

function sudo
    if test "$argv" = !!
        eval command sudo $history[1]
    else
        command sudo $argv
    end
end

Je maakt een nieuwe file aan in ~/.config/fish/functions/ met de naam van de functie. De functie wordt dus opgeslagen in het bestand ~/.config/fish/functions/sudo.fish.

Vanaf nu kan je weer sudo !! gebruiken in fish!