Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаляем файлы 0-го размера ;-), Где ошибка? 
:(
    Опции темы
Маринка
  Дата 6.12.2004, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.12.2003
Где: Иркутск

Репутация: нет
Всего: нет



Здравствуйте!Я вот скопировала из одной книжки исходный текст программки, которая удаляет нулевые файлы (0-го размера) из каталога и записывает в файл Log_del название удалённого файла. Выдаются 2 ошибки в перых строчках.Почему.Не понимаю, вробе ды всё хорошо.... smile

#! /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

Рис. Текст файла-сценария для удаления файлов нулевого объема

PM MAIL WWW ICQ   Вверх
sergejzr
Дата 6.12.2004, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Маринка, а может bash у Вас не в /bin/bash лежит?

Какие конкретно ошибки выдаются?


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Маринка
Дата 7.12.2004, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.12.2003
Где: Иркутск

Репутация: нет
Всего: нет



Да, наверное, но что тогда делать?
Ошибки: (о.с - название файла)
о.с:1:3:invalid preprocessing directive #!
o.c:2:syntax error before "if"
Зачем нужна первая строчка ? Почему ошибка во второй строчке?Как можно изменить текст программки, чтобы всё было хорошо? smile
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 7.12.2004, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



В этой строчке:
#! /bin/bash

между #! и /bin/bash не должно быть пробела smile

Вот так правильно:
#!/bin/bash


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Маринка
Дата 7.12.2004, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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


и вот эти вот строчки , означают, запись в файл по указанному адресу??Адрес я могу изменить да?В свою папку...Или это что-то другое?
PM MAIL WWW ICQ   Вверх
DENNN
Дата 7.12.2004, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



Цитата
А как на счет того, что bash не в /bin/bash лежит? Это ничего?

это очень плохо smile
А если серьезно, то либо путь впиши верный, либо софт-линк в этой папке на него сделай.

Цитата
и вот эти вот строчки , означают, запись в файл по указанному адресу??Адрес я могу изменить да?

Да.

Исправляй, проверяй.
P.S. конкрентно особенности bash не помню, но я бы написал так
Код

for i in `ls $1/*`

PM ICQ   Вверх
Akina
Дата 7.12.2004, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



не, погоди... где все это происходит? в какой оси? какой шелл? что если удалить первую строку и явно сделать

sh ./del_null .

?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
sergejzr
Дата 7.12.2004, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Вполне возможно, что файл создан в windows smile
В этом случае надо перед выполнением переформатировать его с помощью
dos2unix


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
DENNN
Дата 7.12.2004, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



sergej.z
Это не должно мешать выполнению скрипта.
PM ICQ   Вверх
sergejzr
Дата 7.12.2004, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



DENNN, мне некогда разбираться, что этот скрипт должен выполнять. Просто у меня на aix'e я его запуатил и ошибок он никаких не выдаёт. Вот и ищем причины...


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Маринка
Дата 8.12.2004, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.12.2003
Где: Иркутск

Репутация: нет
Всего: нет



Я всё это делаю в Университете.Заходим через lizard, вводим логин, пароль.и работаем в своей директории.
Это я так..на всякий ..говорю.
Linux (posix) только начали изучать..поэтому я его ещё не так хорошо понимаю...

sh ./del_null . - ---вот это вот совсем не понимаю..зачем так?почему?

Я не знаю, где находится bash не могу его найти (
PM MAIL WWW ICQ   Вверх
Mad
Дата 8.12.2004, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: нет
Всего: 19



Цитата
Ошибки: (о.с - название файла)
о.с:1:3:invalid preprocessing directive #!
o.c:2:syntax error before "if"

Очень похоже на ошибки gcc smile



--------------------
user posted image
PM MAIL   Вверх
Маринка
Дата 8.12.2004, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.12.2003
Где: Иркутск

Репутация: нет
Всего: нет



ну да...
Я когда ..т.е. чтобы запуститьпрограмму..я её так компилирую.. - gcc o.c.
А что?
PM MAIL WWW ICQ   Вверх
Secandr
Дата 8.12.2004, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 1
Всего: 39



Маринка скрипты на bash не компилируются, а запускаются просто так.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Mad
Дата 8.12.2004, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: нет
Всего: 19



Маринка
просто введи две команды

chmod 777 o.c
./o.c

в каталоге с о.c


--------------------
user posted image
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0588 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.