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 구성을 읽을 수 있습니다.

관련 정보