MacOSX如何在su - root之后自动运行脚本?

时间:2013-02-04 04:22:49

标签: macos root .bash-profile

假设我是普通用户,我将切换到root:

user ~ $ su - root
Password: 
root ~ #

因此,一旦我以root身份登录,我希望自动运行以下命令

source .bash_profile

我怎样才能让above command自动运行?

2 个答案:

答案 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(如果你没有它,创建一个)并在那里添加你的命令。