0

我将如何在 shell 脚本中执行以下操作?

$ su my_user
Password: my_password

这是必需的,因为我需要homebrew在 mac 上安装,它不允许我在 下安装它sudo,但要求我具有管理员权限。

$ sudo /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
Password:
Don't run this as root!

以及为什么我不能以当前用户(不是管理员)的身份运行它 -

$ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
This script requires the user to be an Administrator. If this
sucks for you then you can install Homebrew in your home directory or however
you please; please refer to our homepage. If you still want to use this script
set your user to be an Administrator in System Preferences or `su' to a
non-root user with Administrator privileges.

以管理员身份登录以运行脚本不是一个选项,我必须su在脚本中。

4

2 回答 2

2

root在 Mac 上,管理员和管理员是有区别的。管理员大致翻译为wheel标准 Unix/Linux 系统上的组,这意味着“管理员”组中的人可以使用他们的密码(à la sudo)获得提升的权限。确保您尝试运行它的用户是管理员:单击左上角的苹果菜单,系统偏好设置,用户和组。它应该在您的名字下显示“管理员”;如果没有,那是你的问题。单击锁(窗口左下角),输入机器上管理员帐户的用户名和密码,单击您的用户,然后选中“允许用户管理此计算机”框。

于 2012-06-15T01:37:10.050 回答
0

您需要从外壳外部进行操作,例如 bash 或 ssh 或 telnet ,由“expect”管理

man expect

或简短介绍 http://en.wikipedia.org/wiki/Expect

于 2012-06-15T01:14:58.147 回答