Ich versuche, eine Bash-Skript-Funktion zu erstellen, die mich unter mehreren Verzeichnisse mit den Namen erstellen können. Jedes Mal, wenn ich es laufen i hat Echos sowohl in Ordnung, aber in zwischen ihm sagt (mkdir: ./: Datei vorhanden ist), aber das sind keine Dateien schon da. Was mache ich falsch? Ich sollte hinzufügen, dass das Skript ein anderer Ordner in meinem Root-Verzeichnis namens bin ist, nur um klar zu sein.Wie mache ich eine Bash-Funktion mehr benannte Verzeichnisse zu erstellen und dann ihre enthaltenen Dateien nach Erweiterung organisieren?
#!/bin/bash
echo "Creating directory categories"
function make_folder
{
cd -; cd content; sudo mkdir ./$1
}
make_folder "documents"
make_folder "other"
make_folder "pictures"
make_folder "media"
echo "Directories have been made"; cd -
exit
Update: Ich bin auch Dateien versuchen, in die entsprechenden Ordner durch die Erweiterung zu organisieren (d .jpg in Bilder, .doc in Dokumente, GIF- in Medien, etc).
ext="${filename##*.}" #set var ext to extension of files
find ./random -name | #find and list all files in random folder
#pipe results of find into if statement
if ext == ["jpg"; "jpeg"; "png"] #move ".jpg", etc to new destination
then
mv /path/to/source /path/to/destination
elif ext == [".gif"; ".mov"] #move ".gif", etc to new destination
then
mv /path/to/source /path/to/destination
else #move other files into to new destination
mv /path/to/source /path/to/destination
fi
Sie haben keine $ Ordnervariable, ersetzen durch $ 1. – karakfa
Vielen Dank, ich bin neu im Bash, also dachte ich, es war etwas Einfaches – lettda
Wenn eine Antwort Ihr Problem löst, akzeptieren Sie es, indem Sie auf das große Häkchen (✓) daneben klicken und es optional auch abstimmen (Up-Voting erfordert mindestens 15 Reputationspunkte). Wenn Sie andere Antworten hilfreich fanden, stimmen Sie sie bitte ab. Akzeptieren und Up-Voting hilft zukünftigen Lesern. Bitte lesen Sie [den entsprechenden Artikel in der Hilfe] (http://stackoverflow.com/help/someone-answers). Wenn Ihre Frage noch nicht vollständig beantwortet wurde, geben Sie bitte Feedback. – mklement0