Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Bash by German ( 15 years ago )
#!/bin/bash
echo BEGIN;
ARGS=3
OK=0
E_NOTENOUGH=1
E_FROMNOTEXIST=2
E_FROMNOTEXEC=3
E_TONOTEXIST=4
E_TONOTEXEC=5
E_TONOTWRITE=6
E_NOFILES=7
E_FROMEQTO=8
if [ $# -lt $ARGS ];then
 echo Количество параметров меньше трёх! Скрипт завершил свою работу!
exit $E_NOTENOUGH
fi
if [ ! -d $1 ];then
 echo Каталог FROM не существует! Скрипт завершил свою работу!
exit $E_FROMNOTEXIST
fi
if [ ! -x $1 ];then
 echo Каталог FROM не доступен для исполнения! Скрипт завершил свою работу!
exit $E_FROMNOTEXEC
fi
if [ ! -d $2 ];then
 echo Каталог TO не существует! Скрипт завершил свою работу!
exit $E_TONOTEXIST
fi
if [ ! -x $2 ];then
 echo Каталог TO не доступен для исполнения! Скрипт завершил свою работу!
exit $E_TONOTEXEC
fi
if [ ! -w $2 ];then
 echo Каталог TO не доступен для записи! Скрипт завершил свою работу!
exit $E_TONOTWRITE
fi
if [ $1 = $2 ];then
 echo Каталог FROM совпадает с каталогом TO! Скрипт завершил свою работу!
exit $E_FROMEQTO
fi

#основная часть
from=$1
to=$2
shift;shift
until [ -z $1 ]
do
 name=${1##*/}
 if [ $name != $1 ];then
 echo В имени файла '"'$1'"' присутствует '"'"/"'"'!
 shift
 continue
 fi
 
 if [ ! -f ./from/$1 ];then
 echo Файл '"'$1'"' не существует в каталоге FROM!
 shift 
 continue
 fi

 if [ ! -r ./from/$1 ];then
 echo Файл '"'$1'"' не обладает правом на чтение!
 shift
 continue
 fi

 if [ -f ./to/$1 ];then
 echo В каталоге TO существует файл одноимённый файлу '"'$1'"'!
 shift
 continue
 fi

 if [ ! -f ./to/$1 ];then
  if [ -r ./from/$1 -a -f ./from/$1 ];then
   if [ $name = $1 ];then
    cp ./from/$1 ./to/$1 
    echo Файл '"'$1'"' скопирован!
    shift
    continue
   fi
  fi
 fi
done
echo END $?

 

Revise this Paste

Children: 40996
Your Name: Code Language: