0

~/.profile ファイルに次のものがあります...

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

ただし、入力すると$ mysqlstart. パスワードの入力を求められず、mysql が起動しません。ジョブをフォアグラウンドにすると、パスワードを要求されたままになります。

/opt/local/bin/mysqld_safe5バックグラウンド化されないようにエイリアスを設定する方法はありsudoますか?

これは私のシェルのバージョン情報です:

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

4

2 に答える 2

1

sudoマニュアルページから:

-b (バックグラウンド) オプションは、指定されたコマンドをバックグラウンドで実行するように sudo に指示します。-b オプションを使用すると、シェルジョブ制御を使用してプロセスを操作できないことに注意してください。ほとんどの対話型コマンドは、バックグラウンド モードでは正しく機能しません。

于 2012-08-14T16:00:35.227 に答える
0

sudo -bより良い解決策のように聞こえるオプションを知りませんでした。

以前に次のようなものを使用したことがありますが、これには、シェルによるジョブ制御が可能になるという利点があると思います。

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

最初のコマンドsudo trueは、実際には何もしていないときにパスワードの入力を求めますが、2 番目のコマンドはパスワードの入力を求めsudoずに実行できます。

于 2012-08-14T16:28:23.147 に答える