As we know, suse does not create .bash_profile when add a new user. But redhat does.
But if our program need some command from the profile, it is an issue.
So, we need to add this file when add the new user in script. And we need think about update the program.
if [ -f /etc/SuSE-release ] ; then #if the os is suse
if [ ! -f %rvhome/.bash_profile ] ; then #if the file is not exist
touch %rvhome/.bash_profile
echo 'PATH=$PATH:$HOME/bin' >> %rvhome/.bash_profile
echo 'export PATH' >> %rvhome/.bash_profile
echo 'unset USERNAME' >> %rvhome/.bash_profile
else #if the file is exist
grep 'export PATH' %rvhome/.bash_profile > /dev/null #test the file has the key word
if [ $? -eq 0 ] ; then #$? means last output [0:exist 1:not exist]
#echo 'export PATH is Exist.'
else
echo '' >> %rvhome/.bash_profile #if the file is empty, it needed add first line
#search the key word line number
LINE=`grep -n 'PATH=' %rvhome/.bash_profile | awk -F : '{print $1}'`
((LINE++)) #plus the line number
sed -i "$LINE i export PATH" %rvhome/.bash_profile #insert string at the line into the file
((LINE++))
sed -i "$LINE i unset USERNAME" %rvhome/.bash_profile
sed -i "1 i PATH=\$PATH:$HOME/bin" %rvhome/.bash_profile
fi
fi
fi
result:
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
2011.6.1
ubuntu
~/.bashrc /etc/bash.bashrc