<div dir="ltr">Why not do sed in place edit:<div><a href="http://stackoverflow.com/questions/15559821/using-sed-to-insert-text-at-end-of-line-matching-string">http://stackoverflow.com/questions/15559821/using-sed-to-insert-text-at-end-of-line-matching-string</a><br>

<div class="gmail_extra"><br clear="all"><div><div dir="ltr">James Finstrom<br><br><br><h3><span style="color:rgb(204,204,204)"><font size="1"><span style="font-weight:normal">ಠ_ಠ </span></font></span><em></em></h3></div>

</div>
<br><br><div class="gmail_quote">On Thu, Jul 25, 2013 at 11:46 AM, Lisa Kachold <span dir="ltr"><<a href="mailto:lisakachold@obnosis.com" target="_blank">lisakachold@obnosis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

I am trying to append a variable from an adduser script to a line in a config file (for samba).<div><br></div><div><div>Can someone assist me here?</div><div><br></div><div>The function is in BOLD below:  <b>createNewSambaAllow()</b></div>


<div><b><br></b></div><div>It's not working to put the new line in the smb.conf file?  </div>
<div><br></div><div>Cry!  Beg!  Plead!</div><div><br></div><div><div><br></div><div>Note:  This is a assuming I already have a user named "unique" in my smb.conf line.</div>
<div><br></div><div>#####################################start script#######################################3</div><div><div>#!/bin/bash</div><div><br></div><div><div># Add shell and samba user.</div><div><br></div><div>


_now=$(date +"%m_%d_%Y")</div>
<div>basedir=/home</div><div>usershell=/bin/bash</div><div><br></div><div>## Declare all the functions first</div><div><br></div><div>## function to check if user already exists on system</div><div>ifUserExits(){</div><div>



        grep $1 /etc/passwd > /dev/null</div><div>        [ $? -eq 0 ] && return $TRUE || return $FALSE</div><div>}</div><div><br></div><div>## function to create the user with default shell and home directory passed from below</div>



<div>createNewUser(){</div><div>        if /usr/sbin/useradd "$@"</div><div>        then echo "User $6 Added"</div><div>        fi</div><div>}</div><div><br></div><div>## function to set the user password</div>



<div>createPassword(){</div><div>        if echo -e "$1\n$1\n" | echo $1:$2 |chpasswd</div><div>        then echo "Password Created for User $2"</div><div>        fi</div><div>}</div><div><br></div><div>



## function to setup samba user</div><div>createNewSambaUser(){</div><div>        if (echo $1; echo $1) | /usr/bin/smbpasswd -as $2</div><div>        then echo "Samba Account for User $2 Added"</div><div>        fi</div>



<div>}</div></div><div><br></div>
<div><b>#####This is the part I have issues with:</b></div><div><b><br></b></div><div><b>## function to add user to the Samba config and restart daemon</b></div><div><b>createNewSambaAllow(){</b></div><div><b>        # Copy to backup the config:</b></div>



<div><b>
        cp /etc/samba/smb.conf /etc/samba/smb.conf-$_now</b></div><div><b>        # stuff the line we need to append to into a variable called $oldline</b></div><div><b>        # this is supposed to look like this "valid users = unique thing1 thing2 thing3 alice"</b></div>




<div><b>        oldline = grep unique /etc/samba/smb.conf</b></div><div><b>        # delete the old line in the smb.conf</b></div><div><b>        sed '/unique/d' /etc/samba/smb.conf >>/etc/samba/smb.conf</b></div>



<div><b>        # dump the old line and the new user into the bottom of smb.conf</b></div>
<div><b>        echo $oldline && echo $username  >> /etc/samba/smb.conf</b></div><div><b>        # restart samba</b></div><div><b>      /etc/init.d/samba restart</b></div><div><b>        echo "Samba Config Added and Daemon restarted"</b></div>



<div><b>}</b></div><div><br>
</div><div>### This is just for your info #####</div><div><br></div><div>## make sure root is running script</div><div>if [ $(id -u) -ne 0 ]</div><div>
then</div><div>    echo "You must be root or use sudo to run this script!"</div><div>    exit 2</div><div>fi</div><div><br></div><div>## get username from input</div><div>read -p "Enter username : " username</div>





<div><br></div><div>## if user doesn't exist, add user</div><div>if ( ! ifUserExits $username )</div><div><br></div><div>then</div><div>        ## get password from input</div><div>        read -p "Enter password : " password</div>





<div>        createNewUser -m -b $basedir -s $usershell $username</div><div>        createPassword $password $username</div><div>        createNewSambaUser $password $username</div><div>        createNewSambaAllow $username</div>





<div>else</div><div>       ## oops, username already being used</div><div>        echo "Username \"$username\" already exists"</div><div>       exit 3</div><div>fi</div><div><br></div><div># End Bash Example</div>

<span class=""><font color="#888888">

-- <br><div><br>
</div><div>Anyone?</div><div><br></div><div><br></div>
<a href="tel:%28503%29%20754-4452" value="+15037544452" target="_blank">(503) 754-4452</a> Android<br><a href="tel:%28623%29%20239-3392" value="+16232393392" target="_blank">(623) 239-3392</a> Skype<br><a href="tel:%28623%29%20688-3392" value="+16236883392" target="_blank">(623) 688-3392</a> Google Voice<br>




**<br><a href="http://it-clowns.com/c/" target="_blank">it-clowns.com</a><br>Chief Clown<br><br><br><br><br><br><br><br><br><br><br><br><br>
<br>
</font></span></div></div>
</div>
<br>---------------------------------------------------<br>
PLUG-discuss mailing list - <a href="mailto:PLUG-discuss@lists.phxlinux.org">PLUG-discuss@lists.phxlinux.org</a><br>
To subscribe, unsubscribe, or to change your mail settings:<br>
<a href="http://lists.phxlinux.org/mailman/listinfo/plug-discuss" target="_blank">http://lists.phxlinux.org/mailman/listinfo/plug-discuss</a><br></blockquote></div><br></div></div></div>