Skript zum Komprimieren einer Datei und Ändern ihres Eigentümers

Skript zum Komprimieren einer Datei und Ändern ihres Eigentümers

Ich arbeite an einem Skript, das eine Textdatei liest und die in der Textdatei gespeicherten Informationen verwendet, um jede eingegebene Zeile als Array zu speichern. Dieses Array ist ein Verweis auf Dateien, die in einem anderen Skript in ein Verzeichnis importiert werden. Das Problem ist, dass ich eine Funktion erstellt habe, um den Inhalt des Verzeichnisses zu komprimieren und seine Eigentümer zu ändern, aber als ich das Skript ausführte, komprimierte es die Dateien und versuchte, die Eigentümer zu ändern pwd. Hier ist mein Code:

file=~/exporttool/zipFiles.txt
index=0
declare -a studyinstanceuids
while read line ; do
        studyinstanceuids[$index]="$line"
        index=$((index+1))
        echo $line
done < $file
for i in "${studyinstanceuids[@]}"
do
echo "$i" | ./cmd2;
done
echo "Exams are in!";

##Function with argument that will take prompt to change ownerships
echo "What is the name of the owner: "
read $owner

zipForOwner(){
        arg1=$1
        for i in "${studyinstanceuids[@]}"; do
                zip -r ~/export/"${studyinstanceuids[@]}"/20140620_"${studyinstanceuids[@]}".zip .
                sudo chown $1:$1 ~/export/"${studyinstanceuids[@]}"/"${studyinstanceuids[@]}".zip
                sudo mv ~/export/"${studyinstanceuids[@]}"/"${studyinstanceuids[@]}".zip ~/home/"$1"
        done
}

zipForOwner $owner
exit;

Hat jemand Vorschläge?

Antwort1

Das Problem ist gefunden. Das Problem liegt an derzip -r ~/export/"${studyinstanceuids[@]}"/20140620_"${studyinstanceuids[@]}".zip .

Ich muss es ändern inzip -r ~/export/"${studyinstanceuids[@]}"/20140620_"${studyinstanceuids[@]}".zip ~/export/"${studyinstanceuids[@}"/

Das .am Ende hat das Problem verursacht.

verwandte Informationen