#!/bin/bash #1つ目の引数に指定したディレクトリに移動しファイルを読み込む #ここで$1に移動するので$2を相対パスで指定する場合は$1からの相対パスにする #スクリプトを実行するディレクトリからの相対パスにしてしまうと$1に移動することでずれが生じ、正しくファイルが転送できない cd $1 files=`ls` #ファイル数だけループを繰り返す for loop in $files; do #ファイルタイプを読み込む type=`file -b $loop` #ディレクトリとスクリプトはパーミッションを775に、その他は664に設定 if [ -d $loop -o "$type" = 'Bourne-Again shell script text executable' ] then chmod 775 $loop else chmod 664 $loop; fi #設定後、ファイルを2つ目の引数に指定したディレクトリに転送 mv $loop $2 done #すべて転送し終えるとループを抜け終了