Estoy intentando automatizar el movimiento de archivos de una carpeta a una nueva carpeta de forma automática todas las noches utilizando una secuencia de comandos bash ejecutada desde AppleScript en un horario. Estoy intentando escribir un script bash en Mac OSX, y sigue fallando. En resumen, esto es lo que tengo (todos mis echo
s son para la comprobación de errores):No se pueden establecer variables en el script bash
#!/bin/bash
folder = "ABC"
useracct = 'test'
day = date "+%d"
month = date "+%B"
year = date "+%Y"
folderToBeMoved = "https://stackoverflow.com/users/$useracct/Documents/Archive/Primetime.eyetv"
newfoldername = "/Volumes/Media/Network/$folder/$month$day$year"
ECHO "Network is $network" $network
ECHO "day is $day"
ECHO "Month is $month"
ECHO "YEAR is $year"
ECHO "source is $folderToBeMoved"
ECHO "dest is $newfoldername"
mkdir $newfoldername
cp -R $folderToBeMoved $newfoldername
if [-f $newfoldername/Primetime.eyetv];
then rm $folderToBeMoved;
fi
Ahora mi primer problema es que no puedo establecer variables en absoluto. Incluso literales donde simplemente lo hago igual a algo literal. Todos mis echo
salen en blanco. No puedo tomar el día, el mes o el año tampoco, también aparece en blanco.
Me sale un error al decir que -f no se encuentra.
Me sale un error al decir que hay un final inesperado de archivo.
hice el archivo y lo hicieron un chmod u+x scriptname.sh
No estoy seguro de por qué no funciona en absoluto. Soy muy nuevo en este script bash en OSX y solo tengo experiencia con Windows vbscript. ¡Cualquier ayuda sería genial, gracias!
Las garrapatas traseras son malvadas (no encajables). Yo usaría $() yo mismo. Pero +1 para una buena respuesta. – paxdiablo
@paxdiablo Estoy aprendiendo muy lentamente a usar '$()', pero es un poco difícil volver a programar un hábito de 15 años. – Isaac
@Isaac: vale la pena. Escribí un script de pelusa que periódicamente rastrea '~/bin' y yammers sobre los backticks. Expírelos! –