0

我的 ~/.profile 文件中有以下内容...

alias mysqlstart='sudo /opt/local/bin/mysqld_safe5 &'

但是,当我键入$ mysqlstart. 我没有被要求输入密码并且 mysql 没有启动。当我把工作放在前台时,它一直在询问我的密码。

有没有办法设置别名所以/opt/local/bin/mysqld_safe5不是背景sudo

这是我的 shell 的版本信息:

GNU bash, version 4.2.37(2)-release (i386-apple-darwin11.3.0)

4

2 回答 2

1

sudo手册页

-b(后台)选项告诉 sudo 在后台运行给定的命令。请注意,如果您使用 -b 选项,您将无法使用 shell 作业控制来操作该进程。大多数交互式命令将无法在后台模式下正常工作。

于 2012-08-14T16:00:35.227 回答
0

我不知道这个sudo -b选项,这听起来像是更好的解决方案。

我以前使用过类似下面的东西,我认为它的优点是它允许 shell 控制作业:

alias mysqlstart='sudo true; sudo /opt/local/bin/mysqld_safe5 &'

第一个命令sudo true应该提示您输入密码,但实际上并没有做任何事情,但允许第二个sudo命令在不提示您输入密码的情况下执行。

于 2012-08-14T16:28:23.147 回答