다른 사용자로 전환하고 개인 bashrc 파일을 소싱하세요.

다른 사용자로 전환하고 개인 bashrc 파일을 소싱하세요.

사용자로서, 공유 계정에 로그인해야 합니다BB. 로그인한 후BB, 다른 사용자가 아닌 나만 사용할 수 있는 개인 bashrc 파일을 얻고 싶습니다. 한 줄의 명령으로 이를 어떻게 달성할 수 있습니까? 다음과 같은 가능한 답변을 찾았습니다.

sudo -iu bb bash -c 'source bashrc_aa'

하지만 그 후에는 다시 사용자로 변경됩니다., 내 사용자 ID를 유지하고 싶습니다.BB. 해결책이 있나요?

답변1

해결 방법으로 bb를 수정하면 .profile(또는 ~/.bash_profile존재하는 경우) 다음 명령을 실행하는 모든 사용자에 대해 .bashrc 파일을 얻을 수 있습니다 sudo.

if [[ -n $SUDO_USER ]]; then
    . /home/"$SUDO_USER"/.bashrc 
fi

또는 홈 디렉토리가 어디에 있는지 추측할 수 없는 경우 /home/user_name다음에서 읽을 수 있습니다 /etc/passwd.

if [[ -n $SUDO_USER ]]; then
    homeDir=$(awk -F':' -v s="$SUDO_USER" '$1==s{print $6}' /etc/passwd)
    . "$homeDir"/.bashrc 
fi

sudo이는 를 입력하는 모든 사용자 에게 적용되지만 bb각각의 경우 소스가 됩니다.그들의bashrc. 또는 사용자에 대해서만 변경할 수 있습니다.

if [[ $SUDO_USER == "aa" ]]; then
    . /home/aa/.bashrc 
fi

관련 정보