私は、テキスト ファイルから読み取り、テキスト ファイルに格納されている情報を使用して、入力された各行を配列として配置するスクリプトを作成中です。この配列は、別のスクリプトでディレクトリにインポートされるファイルへの参照です。問題は、ディレクトリの内容を圧縮して所有権を変更する関数を作成したのですが、スクリプトを実行すると、圧縮されて所有権の変更が試行されることです。pwd
以下は私のコードです。
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;
何か提案はありますか?
答え1
問題が見つかりました。問題はzip -r ~/export/"${studyinstanceuids[@]}"/20140620_"${studyinstanceuids[@]}".zip .
それを次のように変更する必要がありますzip -r ~/export/"${studyinstanceuids[@]}"/20140620_"${studyinstanceuids[@]}".zip ~/export/"${studyinstanceuids[@}"/
最後.
に問題を引き起こしていました。