Wie kann ich einen Befehl für sudo aliasen?

Wie kann ich einen Befehl für sudo aliasen?

Ich habe einen Alias, den ich sowohl als normaler Benutzer als auch als Root über sudo verwenden möchte. Genauer gesagt ist es dieser:

alias rm=trash

Dies funktioniert als normaler Benutzer einwandfrei und es funktioniert auch einwandfrei, wenn ich verwende, sudo -ium eine Root-Shell-Eingabeaufforderung zu erhalten. Wenn ich jedoch verwende sudo rm, gilt der Alias ​​nicht. Wo muss ich also meinen Alias ​​eingeben, damit er in einmaligen Sudo-Befehlen funktioniert?

Antwort1

Erstellen Sie einen Alias ​​für sudo mit einem Leerzeichen am Ende:

alias sudo='sudo '

Dann funktionieren alle anderen Aliase mit sudo.

Aber wie in der anderen Antwort erwähnt, ist Aliasing rmzur Ausführung trashwahrscheinlich keine gute Idee. Ich mache es gerne rmso:

alias rm='echo "rm is disabled, use trash or /bin/rm instead."'

Damit werden Sie sich schnell angewöhnen, trashanstelle von einzugeben rm.

Antwort2

Das wird nicht funktionieren, aber wenn Sie eine Funktion verwenden und diese exportieren, wird es funktionieren.

dl () { trash "$@"; }
export -f dl

Die Verwendung eines Alias ​​ist keine gute Idee rm, denn wenn Sie sich angewöhnen, dass der Alias ​​oder die Funktion Sie schützt, und der Alias ​​irgendwann aus irgendeinem Grund nicht mehr verfügbar ist, verwenden Sie ihn rmund es wird eine Menge Zeug gelöscht, das nur schwer wiederhergestellt werden kann.

verwandte Informationen