非常具体地说:
德班系统:
我想以 root 身份登录时以特定用户身份安装 Linuxbrew。
Linuxbrew 享受由用户根据用户的特定目的安装的好处。我的目标是以 root 身份(绝对是 root 身份)执行以下命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"
作为用户,因此出于所有目的和意图,指定用户运行了它。
动机是代表指定用户运行此命令,以便他们可以自由使用 Linuxbrew,但 root 用户已经提供了它。
注意:我想要用于教育目的的-简单-解决方案。我确信有多种深奥的方法,但越少混淆越好。这是解决方案的一部分。简单性和可读性。
答案1
su - username -c 'ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"'
我认为这是显而易见的,但如果不是,请将“用户名”替换为您要安装 Linuxbrew 的用户名。
编辑:事后看来,您可以更疯狂一点,并使用 for 循环为在 /home 下拥有主目录的任何用户安装此程序
for u in `ls /home`; do su - $u -c 'ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"'; done
答案2
这并不是用户真正的工作方式,但是就brew 而言这并不重要。您的实际问题应该是“我如何设置我的自制程序安装,以便不同的用户可以管理它”,您可以找到一个非常好的答案这里
基本上,该用户所需的只是对 /usr/local 具有写入权限,最简单的方法是授予管理员组写入权限并将用户添加到该组。