![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
Здравствуйте!Я вот скопировала из одной книжки исходный текст программки, которая удаляет нулевые файлы (0-го размера) из каталога и записывает в файл Log_del название удалённого файла. Выдаются 2 ошибки в перых строчках.Почему.Не понимаю, вробе ды всё хорошо....
#! /bin/bash if ! test -d $1 then echo "$1 is not directory"; echo "Input directory"; exit 1 fi for i in $1/* do if test -d $i then del_null $i else ( if ! test -s $i then ls -l $i >> $HOME/bin/log_del.txt echo "Delete file " >> $HOME/bin/log_del.txt rm $i fi ) fi done Рис. Текст файла-сценария для удаления файлов нулевого объема |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Маринка, а может bash у Вас не в /bin/bash лежит?
Какие конкретно ошибки выдаются? |
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
Да, наверное, но что тогда делать?
Ошибки: (о.с - название файла) о.с:1:3:invalid preprocessing directive #! o.c:2:syntax error before "if" Зачем нужна первая строчка ? Почему ошибка во второй строчке?Как можно изменить текст программки, чтобы всё было хорошо? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
В этой строчке:
#! /bin/bash между #! и /bin/bash не должно быть пробела Вот так правильно: #!/bin/bash |
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
Всё равно те же самые ошибки!!! (((((
Я уже и так пробовала и так...ничего не понимаю. А как на счет того, что bash не в /bin/bash лежит? Это ничего? Добавлено @ 10:34 ls -l $i >> $HOME/bin/log_del.txt echo "Delete file " >> $HOME/bin/log_del.txt и вот эти вот строчки , означают, запись в файл по указанному адресу??Адрес я могу изменить да?В свою папку...Или это что-то другое? |
|||
|
||||
| DENNN |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 3 Всего: 43 |
это очень плохо А если серьезно, то либо путь впиши верный, либо софт-линк в этой папке на него сделай.
Да. Исправляй, проверяй. P.S. конкрентно особенности bash не помню, но я бы написал так
|
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
не, погоди... где все это происходит? в какой оси? какой шелл? что если удалить первую строку и явно сделать
sh ./del_null . ? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Вполне возможно, что файл создан в windows
В этом случае надо перед выполнением переформатировать его с помощью dos2unix |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 3 Всего: 43 |
sergej.z
Это не должно мешать выполнению скрипта. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
DENNN, мне некогда разбираться, что этот скрипт должен выполнять. Просто у меня на aix'e я его запуатил и ошибок он никаких не выдаёт. Вот и ищем причины...
|
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
Я всё это делаю в Университете.Заходим через lizard, вводим логин, пароль.и работаем в своей директории.
Это я так..на всякий ..говорю. Linux (posix) только начали изучать..поэтому я его ещё не так хорошо понимаю... sh ./del_null . - ---вот это вот совсем не понимаю..зачем так?почему? Я не знаю, где находится bash не могу его найти ( |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: нет Всего: 19 |
Очень похоже на ошибки gcc |
|||
|
||||
| Маринка |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 5.12.2003 Где: Иркутск Репутация: нет Всего: нет |
ну да...
Я когда ..т.е. чтобы запуститьпрограмму..я её так компилирую.. - gcc o.c. А что? |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 1 Всего: 39 |
Маринка скрипты на bash не компилируются, а запускаются просто так.
|
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: нет Всего: 19 |
Маринка
просто введи две команды chmod 777 o.c ./o.c в каталоге с о.c |
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |