사용자로서아, 공유 계정에 로그인해야 합니다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