Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   На языке Shell разработать программу. (http://forum.oszone.net/showthread.php?t=174655)

MVA 02-05-2010 10:35 1405081

На языке Shell разработать программу.
 
Господа, доброго времени суток.
Необходимо разработать программу, копирующую произвольное число файлов заданных аргументами из текущего каталога в указываемый каталог.
В разработке я обошлась одной строкой, а именно:
Код:

cp $1 $2
Соответственно проверяющему моё "решение" не понравилось.
Имеется подобное задание, а именно: "Скопировать из текущего каталога на дискету ряд текстовых файлов с проверкой записи и удалением файла" и соответственно сама программа, написанная под DOS, а именно:
Код:

:loop
copy %1.txt  A:/V
pause
del %1.txt
shift
if not %1.==. goto loop

Её нужно переделать под UNIX, и поверку файлов написать вначале.

Желающим помочь я буду рада. Вам необходимо только переделать код и проверить его на выполнение.

ruslandh 02-05-2010 10:58 1405089

#!/bin/bash

for i in $*
do
mv $i /mnt/floppy
done



Непонятно что значит проверка.

Можено конечно поставить cp и rm, но самой проверки я и в досовском скрипте не вижу

Ещё красивее :
for i in $*
do
rsync $i /mnt/floppy/$i
rm $i
done

MVA 02-05-2010 11:18 1405094

Цитата:

Цитата ruslandh
Непонятно что значит проверка.
Можено конечно поставить cp и rm, но самой проверки я и в досовском скрипте не вижу »

Условие и пример давал преподаватель.

проверка : если не равно пустому значению, то...
Код:

if not %1.==. goto loop
разве нет?

//Маленькое примечание: без лишних сложностей, для первого курса все-таки.

ruslandh 02-05-2010 11:59 1405106

Файл может скопироваться частично, с ошибками и т.п (Например, если места на диске нет).

if not %1.==. goto loop - насколько я понял проверяет не указан-ли ещё файл в списке. Впрочем я могу ошибаться в синтаксисе досовских скриптоа.

MVA 02-05-2010 14:54 1405178

Цитата:

Цитата ruslandh
if not %1.==. goto loop - насколько я понял проверяет не указан-ли ещё файл в списке. Впрочем я могу ошибаться в синтаксисе досовских скриптоа. »

иная запись выглядит так, что то же самое :
Код:

if not (%1)==( ) goto loop
В общем спасибо за отзывчивость и оказанную помощь. Я Вам признательна.


Время: 16:29.

Время: 16:29.
© OSzone.net 2001-