小编Mic*_*iño的帖子

如何将别名传递给 sudo?

我试过把我的别名放在~/.bash_profile, ~/.bashrc, /etc/profile, 和 中/etc/bashrc

我仍然无法执行以下操作:

alias zf2="php public/index.php"
Run Code Online (Sandbox Code Playgroud)

然后执行:

sudo zf2 orm:info
Run Code Online (Sandbox Code Playgroud)

问题似乎是我无法使用 visudo 将别名指定为命令——这会导致语法错误。

所以我无法调用:

sudo zf2 orm:info
Run Code Online (Sandbox Code Playgroud)

但是,我能够在 /usr/share/scripts/zf2 创建一个脚本,其中包含:

#!/bin/bash

alias zf2="php public/index.php"
zf2 $1
Run Code Online (Sandbox Code Playgroud)

并将此脚本添加为 visudo 中的命令。当此脚本位于最终用户的 PATH 中时,我可以执行

zf2 orm:info
Run Code Online (Sandbox Code Playgroud)

我有不同的别名zf2,我需要向最终用户公开。我更愿意维护别名而不是脚本集合。

sudo bash alias

41
推荐指数
1
解决办法
1万
查看次数

标签 统计

alias ×1

bash ×1

sudo ×1