Bash 프로세스 대체는 OS X에서 '루트'로 작동하지 않습니다.

Bash 프로세스 대체는 OS X에서 '루트'로 작동하지 않습니다.

OS X 10.6.8에서 Bash 프로세스 대체를 '루트'로 사용하면 작동하지 않습니다.

  • 그래야 하는 걸까요?
  • 왜?

참고: 제 말은... "<(목록)"입니다.

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

/* 간단한 파이프를 사용하여 echo와 mysql을 교환할 수 있기 때문에 인위적인 예입니다... 머리 속에서 더 나은 예가 생각나지 않았습니다 */

편집하다:

  • 다음과 같이 루트로 로그온합니다.

    "스도 수 -"

(덧붙여, 제가 원한다면 더 좋은 방법이 있을까요?머무르다로그인?)

  • 그래요~ 아니다Bash에서 제 질문은 정말 멍청했고 아래 댓글이 문제를 즉시 포착했습니다! :(

echo $0 은 "-sh"를 생성합니다 :(

이 질문은 이 시점에서 삭제되거나 다음과 같이 변형될 수 있을 것 같습니다.

"Bash를 사용하여 '루트'로 올바르게 로그인하는 방법은 무엇입니까?" (아마도 /private/etc/passwd?를 편집하면 작동하지 않는 것 같습니다. 또는... sudo bash -l?)

답변1

쉘을 변경하려면 다음을 실행하십시오.chsh -s /bin/bash

루트로 로그인한 상태에서 쉘을 한 번 실행하려면 다음을 실행하십시오 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대신 루트로 이동하거나 sudo bash -l로그인 셸을 사용하여 루트로 이동하여 bash 구성을 읽을 수 있습니다 .

관련 정보