Why not do sed in place edit: http://stackoverflow.com/questions/15559821/using-sed-to-insert-text-at-end-of-line-matching-string James Finstrom ಠ_ಠ ** On Thu, Jul 25, 2013 at 11:46 AM, Lisa Kachold wrote: > I am trying to append a variable from an adduser script to a line in a > config file (for samba). > > Can someone assist me here? > > The function is in BOLD below: *createNewSambaAllow()* > * > * > It's not working to put the new line in the smb.conf file? > > Cry! Beg! Plead! > > > Note: This is a assuming I already have a user named "unique" in my > smb.conf line. > > #####################################start > script#######################################3 > #!/bin/bash > > # Add shell and samba user. > > _now=$(date +"%m_%d_%Y") > basedir=/home > usershell=/bin/bash > > ## Declare all the functions first > > ## function to check if user already exists on system > ifUserExits(){ > grep $1 /etc/passwd > /dev/null > [ $? -eq 0 ] && return $TRUE || return $FALSE > } > > ## function to create the user with default shell and home directory > passed from below > createNewUser(){ > if /usr/sbin/useradd "$@" > then echo "User $6 Added" > fi > } > > ## function to set the user password > createPassword(){ > if echo -e "$1\n$1\n" | echo $1:$2 |chpasswd > then echo "Password Created for User $2" > fi > } > > ## function to setup samba user > createNewSambaUser(){ > if (echo $1; echo $1) | /usr/bin/smbpasswd -as $2 > then echo "Samba Account for User $2 Added" > fi > } > > *#####This is the part I have issues with:* > * > * > *## function to add user to the Samba config and restart daemon* > *createNewSambaAllow(){* > * # Copy to backup the config:* > * cp /etc/samba/smb.conf /etc/samba/smb.conf-$_now* > * # stuff the line we need to append to into a variable called > $oldline* > * # this is supposed to look like this "valid users = unique > thing1 thing2 thing3 alice"* > * oldline = grep unique /etc/samba/smb.conf* > * # delete the old line in the smb.conf* > * sed '/unique/d' /etc/samba/smb.conf >>/etc/samba/smb.conf* > * # dump the old line and the new user into the bottom of smb.conf* > * echo $oldline && echo $username >> /etc/samba/smb.conf* > * # restart samba* > * /etc/init.d/samba restart* > * echo "Samba Config Added and Daemon restarted"* > *}* > > ### This is just for your info ##### > > ## make sure root is running script > if [ $(id -u) -ne 0 ] > then > echo "You must be root or use sudo to run this script!" > exit 2 > fi > > ## get username from input > read -p "Enter username : " username > > ## if user doesn't exist, add user > if ( ! ifUserExits $username ) > > then > ## get password from input > read -p "Enter password : " password > createNewUser -m -b $basedir -s $usershell $username > createPassword $password $username > createNewSambaUser $password $username > createNewSambaAllow $username > else > ## oops, username already being used > echo "Username \"$username\" already exists" > exit 3 > fi > > # End Bash Example > -- > > Anyone? > > > (503) 754-4452 Android > (623) 239-3392 Skype > (623) 688-3392 Google Voice > ** > it-clowns.com > Chief Clown > > > > > > > > > > > > > > > --------------------------------------------------- > PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org > To subscribe, unsubscribe, or to change your mail settings: > http://lists.phxlinux.org/mailman/listinfo/plug-discuss >