Je tente d'automatiser le déplacement automatique de fichiers d'un dossier vers un nouveau dossier chaque nuit à l'aide d'un script bash exécuté à partir d'AppleScript selon un planning. Je tente d'écrire un script bash sur Mac OSX, et il continue d'échouer. Bref ce que j'ai (tous mes echo
s sont pour le contrôle d'erreur):Impossible de définir les variables dans le 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
Maintenant, mon premier problème est que je ne peux pas définir des variables du tout. Même littérales où je le fais juste égal au littéral. Tous mes echo
sortent vides. Je ne peux pas saisir le jour, le mois ou l'année non plus, ça sort également vide.
Je reçois une erreur indiquant que -f est introuvable.
Je reçois une erreur disant qu'il y a une fin de fichier inattendue.
J'ai fait le dossier et a fait un chmod u+x scriptname.sh
Je ne sais pas pourquoi rien ne fonctionne pas du tout. Je suis très nouveau à ce script bash sur OSX, et n'ai qu'une expérience avec Windows vbscript. Toute aide serait géniale, merci!
Les ticks arrières sont mauvais (non-imbriquable). J'utiliserais $() moi-même. Mais +1 pour une bonne réponse. – paxdiablo
@paxdiablo J'apprends très lentement à utiliser '$()' moi-même, mais il est un peu difficile de reprogrammer une habitude vieille de 15 ans. – Isaac
@Isaac: ça en vaut la peine. J'ai écrit un script de charpie qui explore régulièrement '~/bin' et yammers à propos des backticks. Effacez-les! –