맥에서 root 로그인 시 profile by Hwan

맥도 BSD 기반이므로 일반적인 UNIX 환경처럼 terminal 사용이 가능하다. 따라서 터미널을 연 후 su를 통해 root로 쉘을 띄울 수 있다. su -l (또는 su -) 명령어를 통하면 login과 같은 과정을 거치게 되는데, root 홈 디렉토리에 있는 .bash_profile을 읽어오지를 않는 문제가 있다.

이유는 간단하다. root는 /bin/bash 대신에 /bin/sh를 사용하는데 일반적인 Linux에서는 /bin/sh는 /bin/bash에 대한 symbolic link이지만 맥에서는 (BSD가 원래 그런지는 모르겠다) 실제로 다른 쉘이기 때문이다. 따라서 .bash_profile은 읽어 오지 않으며 .profile만 읽어온다.

P.S. 약 30분 동안 PATH 가지고 고민한 끝에 env 쳐 놓고 보다가 알아 낸 사실… -_-;;


덧글

  • bin 2014/02/26 14:17 # 삭제 답글

    역사적으로 BSD는 기본쉘을 'csh'로 지정하고 있고 /bin/sh 는 bash가 아닌 오리지날 Bourne shell을 사용합니다. (bash쉘 자체는 자신을 호출하는 이름이 sh 일 경우 sh 처럼동작하는 기능을 가지고있고 Linux에서는 그걸 사용합니다) BSD에서 대중적인 bash를 사용하지 않고 csh를 기본쉘로 사용하는 이유는 nvi 와 csh 가 모두 BSD진영에서 리누즈토발즈와 비슷한 위치에 있는 Bill joy가 만든 프로그램이고 라이센스 역시 GPL이 아니라 BSD라이센스이기 때문입니다.
댓글 입력 영역



미투데이 위젯