Superwormy
Golden Member
Below is my shell script... I just can't get it to fill in the $username var in the perl commands I want to execute. It should end up running a command like this:
perl -i -e 's/keithpalmerjr/KeithPalmerJr/g' /etc/gshadow
But instead, I get one of these two, depending on how I muss with the code trying to get it to work:
perl -i -e 's///g' /etc/gshadow
perl -i -e 's/$lowercase_username/$username/g' /etc/gshadow
What am I doing wrong?
== bash function ==
mixedcase_user_to_lowercase()
{
username=$1
echo "Operating on user: $username"
echo " Converting $username to lowercase..."
lowercase_username=`echo $username | tr A-Z a-z`
echo " Converted to $lowercase_username"
echo " Adding user $lowercase_username"
`adduser -m $lowercase_username`
echo " Running gigantic perl command for user $lowercase_username"
`perl -i -e 's/$lowercase_username/$username/g' /etc/passwd`
`perl -i -e 's/$lowercase_username/$username/g' /etc/shadow`
`perl -i -e 's/$lowercase_username/$username/g' /etc/group`
`perl -i -e 's/$lowercase_username/$username/g' /etc/gshadow`
`mv /home/$lowercase_username /home/$username`
`chown -R $username:$username /home/$username`
echo ""
}