I have tried putting my aliases in ~/.bash_profile
, ~/.bashrc
, /etc/profile
, and /etc/bashrc
.
I am still unable to execute the following:
alias zf2="php public/index.php"
and then execute:
sudo zf2 orm:info
The issue seems to be that I am unable to specify an alias as a command using visudo– which causes a syntax error.
So I am unable to call:
sudo zf2 orm:info
However, I was able to create a script at /usr/share/scripts/zf2 which contains:
#!/bin/bash
alias zf2="php public/index.php"
zf2 $1
and add this script as the command in visudo. When this script is in the end user's PATH I am able to execute
zf2 orm:info
I have different aliases like zf2
that I need to expose to the end user. I would prefer to maintain alias instead of a collection of scripts.
Best Answer
Ironically, the solution is to call
sudo
from an alias.Note: While not recommended, you could name the alias
sudo
:alias sudo="sudo "