假设我是普通用户,我将切换到root:
user ~ $ su - root
Password:
root ~ #
因此,一旦我以root
身份登录,我希望自动运行以下命令:
source .bash_profile
我怎样才能让above command
自动运行?
答案 0 :(得分:1)
根据bash手册页,对于登录shell执行.bash_profile
,而对交互式非登录shell执行.bashrc
。
在您的情况下,您不需要像这样来源.bash_profile
。
您只需将source .bash_profile
放在根目录的.bashrc
文件中
if [ -f ~/.bash_profile ]; then
source ~/.bash_profile
fi
阅读me,以便更好地了解.bash_profile
和.bashrc
<强>更新强>
示例:
[root@sgeorge-ld ~]# cat .bashrc | tail -1
echo "Testing .bashrc for a stack query"
[root@sgeorge-ld ~]# exit
logout
[sgeorge@sgeorge-ld ~]$ su - root
Password:
Testing .bashrc for a stack query
[root@sgeorge-ld ~]#
答案 1 :(得分:0)
首先,当您切换到root用户时,您仍将是常规用户的主目录。你要执行哪个.bash_profile? /Users/myuser/.bash_profile或root的/var/root/.bash_profile?
无论你想要执行什么,你都可以编辑/var/root/.bashrc(如果你没有它,创建一个)并在那里添加你的命令。