Ce qui est à l'origine de “Répertoire n'est pas vide” erreurs?
J'ai écrit un script qui est surtout de travail pour moi. Cependant, les deux rmdir
commandes à la fin sont parfois de retourner Directory not empty
erreurs. Comment faire pour battre ce? J'ai essayé d'ajouter r
et puis -rf
qui a retourné Illegal option
erreurs.
Je suis un débutant, et je serais reconnaissant pour toute aide. Ici, c'est la pleine script shell, qui, rappelons-le, est surtout fonctionne à merveille:
if [[ -z "" ]]; then
die "FolderName Required"
fi
newDirName="DirectoryName"
newBaseDir="/Users/JSG/Desktop/DataFarm/$1/"
/bin/mkdir -p $newBaseDir/{ProtectedOrig,Data}
echo -n "---Data Folder Setup
---Data Introduction
---Data Audit/Manipulation
---Data Queries" > $newBaseDir/Data/$1_DataJournal.txt
ditto NewData/ NewDataCopy
fab deploy_data_to_s3:data=*
mv NewData/ $newBaseDir/ProtectedOrig/NewData
mv NewDataCopy/ $newBaseDir/Data/NewDataCopy
mv $newBaseDir/Data/NewDataCopy/* $newBaseDir/Data/
rmdir $newBaseDir/Data/NewDataCopy
mv $newBaseDir/ProtectedOrig/NewData/* $newBaseDir/ProtectedOrig/
rmdir $newBaseDir/ProtectedOrig/NewData
chflags -R uchg $newBaseDir/ProtectedOrig/
mkdir NewData
Ce qui me manque? Et merci à l'avance!
Vous devez vous connecter pour publier un commentaire.
Pour la
rmdir
de commande, vous devez ajouter le--ignore-fail-on-non-empty
drapeau de sorte qu'il supprime le répertoire, même si les fichiers sont là comme ceci:Vous pourriez tout aussi bien utiliser
rm -r
trop:De la L'Entrée De Wikipedia:
rm -r
et maintenant, le script fonctionne comme un charme. Cependant,ignore-fail-on-non-empty
retournéIllegal option
erreurs. Aucune idée pourquoi? Et merci beaucoup, beaucoup.Vérifier tous les fichiers dans le répertoire de démarrage avec
.
. Je note que vous êtes en mouvement*
, mais si il y a un fichier appelé, par exemple,.hello
, puis*
ne correspondra pas à ce fichier et par conséquent, le répertoire n'est pas vide quand vous venez de faire un rmdir.