1
我在我的~/.zshrc
中添加了以下自定義函數,但是當我使用sudo運行命令時,找不到命令。爲什麼我的自定義命令不能在zsh中使用sudo?
woodo() {
if [ $EUID != 0 ]; then
echo "It's a weird tree."
else
echo ' _ __'
echo ' /`\ (~._ ./ )'
echo ' \__/ __`-_\__/ ./'
echo ' _ \ \/ \ \ |_ __'
echo ' ( ) \__/ -^ \/\'
echo ' \_/ " \ | o o |../__'
echo " \\. --' ====/||/\\ "
echo ' \ . . |---__.\__/'
echo ' /: / | |'
echo ' / : / \_/'
echo ' --/ :: ('
echo ' ( | ( (____'
echo ' .-- .. ----**.____)'
echo ' \___/ '
fi
}
$ woodo
It's a weird tree.
$ sudo woodo
sudo: woodo: command not found
我也修改它來檢查$UID
,(如建議here),但它仍然是行不通的:
...
if [[ $UID !=0 || $EUID != 0 ]]; then
...
謝謝!我將它作爲'/ usr/local/bin'中的一個文件添加並且現在可以運行。 – avi
'sudo'需要一個可執行文件,它可以傳遞給'execve'作爲運行命令。 Shell函數,別名和其他任意shell命令都被排除。 – chepner