script para compactar um arquivo e alterar sua propriedade

0

Eu tenho um script em que estou trabalhando que lê um arquivo de texto e usará as informações armazenadas no arquivo de texto para colocar cada linha inserida como uma matriz. Essa matriz é uma referência a arquivos importados para um diretório em outro script. O problema é que eu criei uma função para compactar o conteúdo do diretório e alterar suas propriedades, mas quando executo o script, ele estava zipando e tentando alterar as propriedades do pwd . Aqui está o meu código abaixo:

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;

Alguém tem alguma sugestão?

    
por ryekayo 20.06.2014 / 17:03

1 resposta

1

Encontrou o problema. O problema é com o zip -r ~/export/"${studyinstanceuids[@]}"/20140620_"${studyinstanceuids[@]}".zip .

Eu preciso mudar para zip -r ~/export/"${studyinstanceuids[@]}"/20140620_"${studyinstanceuids[@]}".zip ~/export/"${studyinstanceuids[@}"/

O . no final estava causando o problema.

    
por 20.06.2014 / 18:37