Using Ditto with a Variable in the pathname - Error

153 Views Asked by At

New to Bash - I'm trying to run a script that copies the profile from a mounted Windows drive using ditto. I have run the ditto command with the username included so know it works, now trying to use a variable input to run. But get an error msg with this. I have tried with "" around the variable but still getting an error - what am I missing?

#!/bin/bash

echo "Enter user name: " 
read username

echo "Transfer of $username profile started at " > ~/Desktop/transfer.log
date >> ~/Desktop/transfer.log
clear
echo "Transferring Data Folder to Documents Folder"
ditto -v /Volumes/C/Data ~/Documents/Data 2>> ~Desktop/transfer.log
echo "Data transfer complete"

echo "Transferring Documents Folder - Will error on system folders My Music, My Pictures, My Videos"
ditto -v /Volumes/C/Users/$username/Documents ~/Documents 2>> ~Desktop/transfer.log
echo "Documents transfer complete"

echo "Transferring Downloads Folder"
ditto -v /Volumes/C/Users/$username/Downloads ~/Documents/Downloads 2>> ~Desktop/transfer.log
echo "Downloads transfer complete"

echo "Transferring Favorites Folder to Documents Folder"
ditto -v /Volumes/mpc/Users/$username/Favorites ~/Documents/Favorites 2>> ~Desktop/transfer.log
echo "Favorites transfer complete"

echo "Transferring Desktop Folder"
ditto -v /Volumes/C/Users/$username/Desktop ~/Desktop 2>> ~Desktop/transfer.log
echo "Desktop transfer complete"

echo "Transferring Music Folder"
ditto -v /Volumes/C/Users/$username/Music ~/Music 2>> ~Desktop/transfer.log
echo "Music transfer complete"

echo "Transferring Pictures Folder"
ditto -v /Volumes/C/Users/$username/Pictures ~/Documents/Pictures 2>> ~Desktop/transfer.log
echo "Pictures transfer complete"

echo "Transferring Videos Folder"
ditto -v /Volumes/C/Users/$username/Videos ~/Videos 2>> ~Desktop/transfer.log
echo "Videos transfer complete"

echo "Transferring PST from AppData to Documents Folder"
cp -v /Volumes/C/Users/$username/AppData/Local/Microsoft/Outlook/*.pst ~/Documents/Outlook Files 2>> ~Desktop/transfer.log
echo "AppData transfer complete"

echo "Removing My Music, My Pictures, My Videos"
rm -r "~/Documents/My Music"
rm -r "~/Documents/My Pictures"
rm -r "~/Documents/My Videos"
echo "Removal complete"

echo "Transfer Complete - Press any key to exit"
read Exit
exit
0

There are 0 best solutions below