shell проверка существования директории!?

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
Аватара пользователя
tmp13
Сообщения: 986
ОС: openSuse 11.2

shell проверка существования директории!?

Сообщение tmp13 »

написал так:

Код: Выделить всё

#!/bin/sh
DIRBACKUPLOG=/ora/Export/ARCHIVELOG
if [ -d $DIRBACKUPLOG ]
then
        echo "ok!=)"
else
        echo "Directory does not exist"
        exit 0;
fi
if [ -w $DIRMACKUPLOG ]
then
   echo klmn
else
  echo "Permission denied"
  exit 0;
fi

exit 0;


права т.e на запись убранны выдаеёт:

Код: Выделить всё

ok!=)
./test[10]: test: Specify a parameter with this command.
Permission denied



!!!./test[10]: test: Specify a parameter with this command.!! это что???

всё бы ни чего но предположим что на этом этапе мне надо запустить rman и сделать бэкап (если права на директорию есть)

т.е. скрипт будет такой:

Код: Выделить всё

#!/bin/sh
DIRBACKUPLOG=/ora/Export/ARCHIVELOG
if [ -d $DIRBACKUPLOG ]
then
        echo "ok!=)"
else
        echo "Directory does not exist"
        exit 0;
fi
if [ -w $DIRMACKUPLOG ]
then
   rman<<EOF
   connect target
   exit
   EOF
else
  echo "Permission denied"
  exit 0;
fi

exit 0;

на что я получаю!

Код: Выделить всё

ok!=)
./test[10]: Syntax error at line 12 : `<<' is not matched.


что сие значит???
Красных бей и белых бей!
Вот вам иерархия!
Я люблю тебя за это, милая моя,
Разудалая, хмельная мать моя – Анархия!
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: shell проверка существования директории!?

Сообщение serzh-z »

(tmp13 @ Apr 3 2007, в 15:01) писал(а):на что я получаю!
Метка конца строки heredoc должна стоять в начале строки.

Кстати, у меня "Specify a parameter with this command." не возникло.
Спасибо сказали:
Аватара пользователя
tmp13
Сообщения: 986
ОС: openSuse 11.2

Re: shell проверка существования директории!?

Сообщение tmp13 »

да thnx=)))
теперь только
"Specify a parameter with this command." напрягает ну да фиг с ним)
Красных бей и белых бей!
Вот вам иерархия!
Я люблю тебя за это, милая моя,
Разудалая, хмельная мать моя – Анархия!
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: shell проверка существования директории!?

Сообщение Uncle_Theodore »

if [ -d $DIRBACKUPLOG ]
if [ -w $DIRMACKUPLOG ]

Сие так задумано? :)

Отсюда и отсутствие параметра.
Спасибо сказали:
Аватара пользователя
tmp13
Сообщения: 986
ОС: openSuse 11.2

Re: shell проверка существования директории!?

Сообщение tmp13 »

гмммм не понял? в каком смысле задуманно?) задуманно как проверка))
и отсутствие какого параметра??
Красных бей и белых бей!
Вот вам иерархия!
Я люблю тебя за это, милая моя,
Разудалая, хмельная мать моя – Анархия!
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: shell проверка существования директории!?

Сообщение Uncle_Theodore »

tmp13 писал(а):
03.04.2007 16:29
гмммм не понял? в каком смысле задуманно?) задуманно как проверка))
и отсутствие какого параметра??

У тебя переменные называются по-разному.
Поэтому во втором случае if [ -w $DIRMACKUPLOG ] для программы выглядит как if [ -w ], поскольку у переменной DIRMACKUPLOG значения нету... Вот она и просит параметр.
Спасибо сказали:
Аватара пользователя
tmp13
Сообщения: 986
ОС: openSuse 11.2

Re: shell проверка существования директории!?

Сообщение tmp13 »

ахахаха=)) блин в полном скрипте пофиксил этот баг)))))) да точно значит всё ok)))
Красных бей и белых бей!
Вот вам иерархия!
Я люблю тебя за это, милая моя,
Разудалая, хмельная мать моя – Анархия!
Спасибо сказали:
Ответить