ユーザーとしてああ、共有アカウントにログインする必要があります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