#! /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"