it-swarm.com.de

Wie kann ich einen Alias ​​an sudo übergeben?

Ich habe versucht, meine Aliase in ~/.bash_profile, ~/.bashrc, /etc/profile und /etc/bashrc einzufügen.

Folgendes kann ich immer noch nicht ausführen:

alias zf2="php public/index.php"

und dann ausführen:

Sudo zf2 orm:info

Das Problem scheint zu sein, dass ich mit visudo- keinen Alias ​​als Befehl angeben kann, der einen Syntaxfehler verursacht.

Ich kann also nicht anrufen:

Sudo zf2 orm:info

Ich konnte jedoch ein Skript unter/usr/share/scripts/zf2 erstellen, das Folgendes enthält:

#!/bin/bash

alias zf2="php public/index.php"
zf2 $1

und fügen Sie dieses Skript als Befehl in visudo hinzu. Wenn sich dieses Skript im PATH des Endbenutzers befindet, kann ich es ausführen

zf2 orm:info

Ich habe verschiedene Aliase wie zf2, die ich dem Endbenutzer zur Verfügung stellen muss. Ich würde lieber einen Alias ​​als eine Sammlung von Skripten pflegen.

37
Michael Niño

Ironischerweise besteht die Lösung darin, Sudo von einem Alias ​​aufzurufen.

alias sd="Sudo "

Hinweis: Obwohl nicht empfohlen, können Sie den Alias ​​Sudo benennen: alias Sudo="Sudo "

Bash Reference Manual (Aliases)

Wenn das letzte Zeichen des Alias-Werts leer ist, wird auch das nächste auf den Alias ​​folgende Befehlswort auf Alias-Erweiterung überprüft.

66
Steven