Bash プロセスの置き換えは、OS X では「root」として実行されません。

Bash プロセスの置き換えは、OS X では「root」として実行されません。

OS X 10.6.8 では、Bash プロセス置換を「root」として使用すると動作しません。

  • そうすべきですか?
  • なぜ?

注:私の言葉は…「<(リスト)」という意味です。

mysql -D robottinosino < <(echo 'select robot from tino_sino;') 

/*単純なパイプを使用してechoとmysqlを交換することができるので、これは人為的な例であることは明らかです...より良い例は思いません*/

編集する:

  • 私は次のようにrootとしてログインしました。

    「スドス――」

(しかし、もっと良い方法があるかどうか疑問に思うなら滞在するログインしましたか? )

  • はいいいえBashで私の質問は本当に愚かで、下のコメントがすぐに見つけました! :(

echo $0 は "-sh" を生成します:(

これで、この質問を削除したり、次のように変換したりできます。

「bashを使って「root」として正しくログインするにはどうすればいいですか?」(おそらく/private/etc/passwdを編集できますか?うまくいきません。

答え1

シェルを変更するには:chsh -s /bin/bash

rootとしてログインした状態でシェルを一度実行するには、次のようにbashします。/bin/bash

chshルートシェルを変更した後:

# Changing user information for root.
# Use "passwd" to change the password.
##
# Open Directory: /Local/Default
##
Login: root
Uid [#]: 0
Gid [# or name]: 0
Generated uid: FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000
Home directory: /var/root
Shell: /bin/bash
Full Name: System Administrator
Office Location:
Office Phone:
Home Phone:

答え2

Bashを使用しないと、このBash機能は使用できません。

sudo bash代わりに、rootを使用して起動するか、sudo bash -lログインシェルを使用してrootにログインしてbash設定を読み取ることができます。

関連情報