
我嘗試將別名放入~/.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 "
注意:雖然不推薦,但您可以命名別名sudo
:alias sudo="sudo "
如果別名值的最後一個字元為空白,則也會檢查別名後面的下一個命令字是否有別名擴充。