A solução simples:
iTunesU_Source="~/Music/iTunes/iTunes Media/iTunes U/"
Por que isso? Nesta linha:
iTunesU_Source="~/Music/iTunes/iTunes\ Media/iTunes\ U/"
Você está definindo o valor da variável para uma string entre aspas. Entre aspas, o espaço em branco já está preservado. Então, o conteúdo da sua variável será, literalmente:
~/Music/iTunes/iTunes\ Media/iTunes\ U/
As barras invertidas são necessárias apenas para escapar dos espaços em branco em strings sem aspas, então você pode ter quase escrito assim:
iTunesU_Source=~/Music/iTunes/iTunes\ Media/iTunes\ U/
A diferença é que no primeiro comando, o ~
não é expandido pelo shell para o seu diretório inicial, enquanto no segundo comando a variável iTunesU_Source
é atribuída /Users/username
. Então, nesse caso, sua variável é válida:
/Users/username/Music/iTunes/iTunes\ Media/iTunes\ U/
Leia mais sobre citações aqui: