
Ich habe versucht, meine Aliase in ~/.bash_profile
, ~/.bashrc
, /etc/profile
, und einzufügen /etc/bashrc
.
Folgendes kann ich immer noch nicht ausführen:
alias zf2="php public/index.php"
und führen Sie dann aus:
sudo zf2 orm:info
Das Problem scheint zu sein, dass ich mit visudo-- keinen Alias als Befehl angeben kann, was zu einem Syntaxfehler führt.
Ich kann daher nicht anrufen:
sudo zf2 orm:info
Ich konnte jedoch unter /usr/share/scripts/zf2 ein Skript erstellen, das Folgendes enthält:
#!/bin/bash
alias zf2="php public/index.php"
zf2 $1
und füge 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 dieser Art zf2
, die ich dem Endbenutzer zugänglich machen muss. Ich würde lieber Aliase pflegen als eine Sammlung von Skripten.
Antwort1
Ironischerweise besteht die Lösung darin, von einem Alias aus anzurufen sudo
.
alias sd="sudo "
Hinweis: Obwohl dies nicht empfohlen wird, können Sie den Alias wie folgt benennen sudo
:alias sudo="sudo "
Bash-Referenzhandbuch (Aliase)
Wenn das letzte Zeichen des Alias-Wertes ein Leerzeichen ist, wird auch das nächste Befehlswort nach dem Alias auf eine Alias-Erweiterung überprüft.