![Bash 프로세스 대체는 OS X에서 '루트'로 작동하지 않습니다.](https://rvso.com/image/23952/Bash%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%20%EB%8C%80%EC%B2%B4%EB%8A%94%20OS%20X%EC%97%90%EC%84%9C%20'%EB%A3%A8%ED%8A%B8'%EB%A1%9C%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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 구성을 읽을 수 있습니다 .