如何將別名傳給 sudo?

如何將別名傳給 sudo?

我嘗試將別名放入~/.bash_profile~/.bashrc/etc/profile和 中/etc/bashrc

我仍然無法執行以下操作:

alias zf2="php public/index.php"

然後執行:

sudo zf2 orm:info

問題似乎是我無法使用 visudo 將別名指定為命令 - 這會導致語法錯誤。

所以我無法打電話:

sudo zf2 orm:info

但是,我能夠在 /usr/share/scripts/zf2 建立一個腳本,其中包含:

#!/bin/bash

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

並將此腳本新增為 visudo 中的命令。當此腳本位於最終使用者的路徑中時,我可以執行

zf2 orm:info

我有不同的別名,就像zf2我需要向最終用戶公開的那樣。我更願意維護別名而不是腳本集合。

答案1

sudo諷刺的是,解決方案是從別名呼叫。

alias sd="sudo "

注意:雖然不推薦,但您可以命名別名sudoalias sudo="sudo "

Bash 參考手冊(別名)

如果別名值的最後一個字元為空白,則也會檢查別名後面的下一個命令字是否有別名擴充。

相關內容