View Single Post
Posts: 692 | Thanked: 264 times | Joined on Dec 2009
#89
Just one correction to on top of Cue's modifications:

Code:
#! /bin/sh
#arguments: servername serverip share username password mountpoint
#username, password and mountpoint are optional arguments
if [ $# -lt 3 ] ; then
    #Go into "wizard mode" if there are no arguments
    echo -e "Not enough arguments passed - running wizard"
    echo -e "Enter the server name:"
    read servername
    echo -e "Enter the server IP"
    read serverip
    echo -e "Enter the share name or path"
    read sharename
    echo -e "Enter a username, or leave blank for anonymous"
    read username
    username_orig=$username
    if [ "${username}" != "" ]; then
        echo -e "Enter a password"
        read password
    fi
    echo -e "Enter a mount point, or leave blank for automatic"
    read mountpoint
fi
#if arguments were passed from the command line, use them:
if [ $# -gt 2 ]; then
    servername=$1
    serverip=$2
    sharename=$3
    username=$4
    username_orig=$username
    password=$5
    mountpoint=$6
fi
#set default mountpoint if the user didn't enter one
if [ "${mountpoint}" = "" ]; then
    mountpoint="/media/Remote_Filesystems/$servername@$sharename"
    #make sure the Remote_Filesystems directory exists
    mountparentdir="/media/Remote_Filesystems"
    if [ -d $mountparentdir ]; then
        echo -e "$mountparentdir found."
    else 
        echo -e "Creating $mountparentdir"
        mkdir $mountparentdir
    fi
fi
#requote variables to escape special characters
servername=$(printf '%q' "$servername")
serverip=$(printf '%q' "$serverip")
sharename=$(printf '%q' "$sharename")
username=$(printf '%q' "$username")
password=$(printf '%q' "$password")
mountpoint=$(printf '%q' "$mountpoint")
#check for mountpoint and create it if it doesn't exist
if [ -d $mountpoint ]; then
    echo -e "Mount point already exists - will attempt to use."
else 
    echo -e "Creating mountpoint $mountpoint"
    mkdir $mountpoint
fi 
echo -e "Attempting to mount //$servername/$sharename at $mountpoint"
#Run the mount command
if [ "${username_orig}" != "" ]; then
    mount -t cifs //$servername/$sharename $mountpoint -o user=$username pass=$password ip=$serverip
else
    mount -t cifs //$servername/$sharename $mountpoint -o ip=$serverip
fi
#chown mountpoint to user
chown -R user $mountpoint
echo -e "To unmount this share, run umount $mountpoint as root"
 

The Following User Says Thank You to GameboyRMH For This Useful Post: